pikepdf is a Python library for reading and writing PDF files. It's based on
QPDF, a powerful PDF manipulation and repair library.
pikepdf is similar to PyPDF2 and pdfrw - it provides low level access to PDF
features and allows editing and content transformation of existing PDFs.
Some knowledge of the PDF specification may be helpful. It does not have the
capability to render a PDF to image.
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py312-pikepdf listed in the above command, you can pick from the names under the Packages section.
===> The following configuration options are available for py312-pikepdf-9.11.0:
JBIG2=on: Support for extracting JBIG2 images
===> Use 'make config' to modify these settings
*/*: Use C.UTF-8 locale
Ports 02f27a83b44d fixed the ports tree to the C locale so it would work
correctly in environments where users use a locale that isn't compatible
with the C locale, e.g. xx_YY.UTF-8 where [A-Z] includes more than just
upper case letters. USE_LOCALE was introduced to let ports use another
locale if they needed it. The C.UTF-8 locale was created later on to be
mostly compatible with the C locale.
Switch the ports tree locale to C.UTF-8 and remove USE_LOCALE. The
world has moved to Unicode so all ports either require it or know how to
build correctly in a Unicode environment.
PR: 295945
Exp-run by: antoine
*/*: switch dependency from devel/py-lxml5 to devel/py-lxml
Currently, there are two versions of python XML processing library
which conflict each other in the ports tree, namely:
- devel/py-lxml5 (now at version 5.4.0)
- devel/py-lxml (now at version 6.0.1)
To avoid the situation that some ports depend on py-lxml5 and some
others do on py-lxml (by switching dependencies individually), this
commit switches the dependencies from py-lxml5 to py-lxml at once.
Additional note: There are still two ports (textproc/py-rdflib and
www/py-draftjs-exporter) depending on py-lxml5 since they limit upper
version to less than 6.
PR: 289491
Approved by: Michiel van Baak Jansen <michiel@vanbaak.eu>, arrowd,
crees, madpilot, delphij, marcus, nivit, kai,
skreuzer, fluffy, bofh, thierry, stephen, sunpoet,
0mp, Eric Camachat <eric@camachat.org>
*/*: update dependency on devel/py-lxml to devel/py-lxml5 (2nd attempt)
This is a follow up to the commit 230fb2661c78, which updated some
ports' dependencies on devel/py-lxml to devel/py-lxml5. It was an
attempt to follow the dependency change of
www/py-beautifulsoup. However, the switch was incomplete and broke
some other ports.
It has turned out that the ports depending on devel/py-lxml (at
version 4.9.3) does not limit their dependencies' upper bound to 4.x
except for one (devel/py-pymaven-patch). So updating them to
devel/py-lxml5 (at version 5.4.0) should cause no harm.
This commit switch dependencies of all the ports (except
devel/py-pymaven-patch) to devel/py-lxml5 avoid potential conflicts.
Co-authored-by: Daniel Engberg <diizzy@FreeBSD.org>
PR: 287144, 288047
Reported by: makc (via ports-committers),
vvd (PR 288047),
diizzy (PR 287144)
Approved by: portmgr (chase dependency change, unbreak build)
Fixes: 230fb2661c78 (*/*: update dependency on devel/py-lxml to devel/py-lxml5)
python: bump all USE_PYTHON=distutils consumers after RUN_DEPENDS removal
Any missed ports, feel free to bump.
Any ports that need setuptools at runtime can have the devel/py-setuptools
manually added back to RUN_DEPENDS, but understand that this practice
is deprecated; see CHANGES for details.
devel/py-python-dateutil: Move devel/py-dateutil to devel/py-python-dateutil
- Convert to USE_PYTHON=pep517
- Bump PORTREVISION of dependent ports for dependency change
- While I'm here, update audio/py-pyradio to use PYTHON_PKGNAMEPREFIX instead of
PKGNAMEPREFIX for *_DEPENDS
textproc/py-pikepdf: Fix RUN_DEPENDS
* Add devel/py-deprecated, which was missing from RUN_DEPENDS and update
the {BUILD,RUN}_DEPENDS as noted in "pyproject.toml" while I'm here.
* Bump PORTREVISION due changed dependencies.
Reported by: QA run of testsuite of textproc/py-ocrmypdf
Approved by: portmgr (just-fix-it blanket)
Fixes: dcfd6d07110b textproc/py-pikepdf: Update to 8.11.0
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
textproc/py-pikepdf: Unbreak build with qpdf 10.1.0 after r560703
* Bump PORTREVISION due package change.
src/qpdf/page.cpp:82:10: error: no matching member function for call to 'def'
.def("externalize_inline_images",
&QPDFPageObjectHelper::externalizeInlineImages,
~^~~
Reported by: pkg-fallout
Relax hardcoded paths to fix build with Python 3.8.7
Since r558913 Python 3.8 incorporates BPO-42604 [1] which changed the
shared libs naming scheme. This means "EXT_SUFFIX" is now derived from
SOABI and yields with Python 3.8 to ".cpython-38.so" instead of ".so".
The affected ports strip the libaries in the "post-install" target via
hardcoded path(s) and the build fails at the end because the new extension
is not expected at this place.
Remedy the issue by adding wildcards to these paths. This should also
prepare the ports for future Python releases, which will use the new shared
libs naming scheme.
[1] https://bugs.python.org/issue42604
PR: 252057
Reported by: John Kennedy
Reviewed by: fluffy, koobs
Approved by: koobs (python)
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
textproc/py-pikepdf: fix build on GCC architectures
Needs compiler with C++11 support:
RuntimeError: Unsupported compiler -- at least C++11 support is needed!
Approved by: mentors (implicit approval)
New port: textproc/py-pikepdf
pikepdf is a Python library for reading and writing PDF files. It's based on
QPDF, a powerful PDF manipulation and repair library.
pikepdf is similar to PyPDF2 and pdfrw - it provides low level access to PDF
features and allows editing and content transformation of existing PDFs.
Some knowledge of the PDF specification may be helpful. It does not have the
capability to render a PDF to image.
WWW: https://github.com/pikepdf/pikepdf