diff --git a/srcpkgs/ghostscript/patches/32bit.patch b/srcpkgs/ghostscript/patches/32bit.patch index a302fdc87ae436..32fe18fce1ae37 100644 --- a/srcpkgs/ghostscript/patches/32bit.patch +++ b/srcpkgs/ghostscript/patches/32bit.patch @@ -1,29 +1,3 @@ ---- a/base/gdevmpla.c -+++ b/base/gdevmpla.c -@@ -1954,12 +1954,12 @@ mem_planar_strip_copy_rop2(gx_device * d - int i; - int j; - intptr_t chunky_sraster; -- intptr_t nbytes; -+ int64_t nbytes; - byte **line_ptrs; - byte *sbuf, *buf; - - chunky_sraster = sraster * (intptr_t)mdev->num_planar_planes; -- if (check_64bit_multiply(height, chunky_sraster, (size_t *)&nbytes) != 0) -+ if (check_64bit_multiply(height, chunky_sraster, &nbytes) != 0) - return gs_note_error(gs_error_undefinedresult); - buf = gs_alloc_bytes(mdev->memory, nbytes, "mem_planar_strip_copy_rop(buf)"); - if (buf == NULL) { -@@ -2003,7 +2003,7 @@ mem_planar_strip_copy_rop2(gx_device * d - intptr_t i; - intptr_t chunky_t_raster; - int chunky_t_height; -- intptr_t nbytes; -+ int64_t nbytes; - byte **line_ptrs; - byte *tbuf, *buf; - gx_strip_bitmap newtex; --- a/brotli/c/dec/decode.c +++ b/brotli/c/dec/decode.c @@ -434,10 +434,10 @@ static BROTLI_INLINE void PreloadSymbol( diff --git a/srcpkgs/ghostscript/template b/srcpkgs/ghostscript/template index c40cb3dfadfd69..d93229e9ccd014 100644 --- a/srcpkgs/ghostscript/template +++ b/srcpkgs/ghostscript/template @@ -1,6 +1,6 @@ # Template file for 'ghostscript' pkgname=ghostscript -version=10.06.0 +version=10.08.0 revision=1 hostmakedepends="automake libtool pkg-config" makedepends="$(vopt_if cups cups-devel) dbus-devel fontconfig-devel jasper-devel jbig2dec-devel @@ -10,10 +10,9 @@ short_desc="Interpreter for the PostScript language" maintainer="Orphaned " license="AGPL-3.0-or-later, CPL-1.0" homepage="https://www.ghostscript.com/" -changelog="https://ghostscript.readthedocs.io/en/latest/News.html" -changelog="https://ghostscript.readthedocs.io/en/gs10.02.0/News.html" +changelog="https://ghostscript.readthedocs.io/en/gs${version}/News.html" distfiles="https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${version//./}/ghostscript-${version}.tar.xz" -checksum=64352648c2c081c8a9fb1a12dc1965e01ead7c57f58b72d1b54f6ef1cef3c561 +checksum=c20492bc8ebb96c87fa2e52a0926e1cda8cde95d66145e018ac713fed5da38cf CFLAGS=-fPIC @@ -30,7 +29,7 @@ esac pre_configure() { # force it to use system libs. - rm -rf cups/libs expat freetype jbig2dec jpeg lcms2mt libpng openjpeg tiff zlib + rm -r cups/libs freetype jbig2dec jpeg lcms2mt libpng openjpeg tiff zlib # add missing LDFLAGS vsed -i 's/-L$(BINDIR)/& $(LDFLAGS)/g' base/unix-dll.mak @@ -73,16 +72,10 @@ do_install() { # install license vlicense LICENSE - # remove unwanted localized man-pages - rm -rf ${DESTDIR}/usr/share/man/[^man1]* - # install libijs cd ijs make DESTDIR=${DESTDIR} install - # Remove conflicting files with cups-filters. - $(vopt_if cups 'rm -f ${DESTDIR}/usr/lib/cups/filter/{gstopxl,gstoraster}') - cd .. # Install missing file vinstall base/gserrors.h 644 usr/include/ghostscript diff --git a/srcpkgs/python3-fpdf2/template b/srcpkgs/python3-fpdf2/template index c9a60b2929c9b4..56cf4fe0ab75f5 100644 --- a/srcpkgs/python3-fpdf2/template +++ b/srcpkgs/python3-fpdf2/template @@ -1,13 +1,23 @@ # Template file for 'python3-fpdf2' pkgname=python3-fpdf2 -version=2.8.7 +version=2.8.8 revision=1 build_style=python3-pep517 +# python3-camelot is required for table extraction +# python3-endesive is needed for signing +# currently they're not packaged, so ignore them +# test_variable_font.py is broken with current fonttools +make_check_args="--ignore=test/table/test_table_extraction.py + --deselect=test/signing/test_sign.py + --deselect=test/fonts/test_variable_font.py" hostmakedepends="python3-setuptools_scm python3-wheel fonttools" depends="python3-defusedxml python3-Pillow fonttools" +checkdepends="$depends python3-pytest python3-pytest-cov python3-pypdf python3-qrcode + python3-Brotli python3-uharfbuzz python3-cryptography python3-lxml qpdf" short_desc="Simple PDF generation for Python" maintainer="Mateusz Sylwestrzak " license="LGPL-3.0-only" -homepage="https://github.com/py-pdf/fpdf2" -distfiles="${PYPI_SITE}/f/fpdf2/fpdf2-${version}.tar.gz" -checksum=7060ccee5a9c7ab0a271fb765a36a23639f83ef8996c34e3d46af0a17ede57f9 +homepage="https://py-pdf.github.io/fpdf2/index.html" +changelog="https://raw.githubusercontent.com/py-pdf/fpdf2/master/CHANGELOG.md" +distfiles="https://github.com/py-pdf/fpdf2/archive/refs/tags/${version}.tar.gz" +checksum=bb449d5b06f7a8ab5442d291ee2c40207be6d31317df0d331a81bb096d66a2e4 diff --git a/srcpkgs/python3-ocrmypdf/patches/fall_back_to_ghostscript_rasterizer.patch b/srcpkgs/python3-ocrmypdf/patches/fall_back_to_ghostscript_rasterizer.patch new file mode 100644 index 00000000000000..ba98c6184c7839 --- /dev/null +++ b/srcpkgs/python3-ocrmypdf/patches/fall_back_to_ghostscript_rasterizer.patch @@ -0,0 +1,13 @@ +Let ocrmypdf fall back to Ghostscript as pypdfium2 remains unpackaged +(see https://ocrmypdf.readthedocs.io/en/latest/cookbook.html#select-a-rasterizer). + +--- a/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 ++++ b/pyproject.toml 2026-09-17 18:16:45.395737431 +0200 +@@ -22,7 +22,6 @@ + # whose shape settled in 11 and is pinned by tests + "pluggy>=1", + "pydantic>=2.12.5", +- "pypdfium2>=5.0.0", + "rich>=13", + "typing-extensions>=4.12; python_version < '3.13'", + "uharfbuzz>=0.53.2", diff --git a/srcpkgs/python3-ocrmypdf/patches/tesseract_binary_name_fixup.patch b/srcpkgs/python3-ocrmypdf/patches/tesseract_binary_name_fixup.patch index 417375d0189aab..775574cbce0492 100644 --- a/srcpkgs/python3-ocrmypdf/patches/tesseract_binary_name_fixup.patch +++ b/srcpkgs/python3-ocrmypdf/patches/tesseract_binary_name_fixup.patch @@ -1,8 +1,8 @@ --- a/src/ocrmypdf/_exec/tesseract.py 2020-02-02 01:00:00.000000000 +0100 -+++ b/src/ocrmypdf/_exec/tesseract.py 2026-05-28 15:12:12.345883573 +0200 ++++ b/src/ocrmypdf/_exec/tesseract.py 2026-08-29 13:45:25.024584331 +0200 @@ -117,7 +117,7 @@ - - + + PROBE = ToolProbe( - program='tesseract', + program='tesseract-ocr', @@ -12,19 +12,18 @@ @@ -140,7 +140,7 @@ msg += output return msg - + - args_tess = ['tesseract', '--list-langs'] + args_tess = ['tesseract-ocr', '--list-langs'] try: proc = run( args_tess, @@ -162,7 +162,7 @@ - - + + def tess_base_args(langs: list[str], engine_mode: int | None) -> list[str]: - args = ['tesseract'] + args = ['tesseract-ocr'] if langs: args.extend(['-l', '+'.join(langs)]) if engine_mode is not None: - diff --git a/srcpkgs/python3-ocrmypdf/patches/use_pillow_heif_instead_of_pi_heif.patch b/srcpkgs/python3-ocrmypdf/patches/use_pillow_heif_instead_of_pi_heif.patch deleted file mode 100644 index 6c1f09bcac556e..00000000000000 --- a/srcpkgs/python3-ocrmypdf/patches/use_pillow_heif_instead_of_pi_heif.patch +++ /dev/null @@ -1,34 +0,0 @@ -Use the full pillow-heif instead of pi-heif which is just "a light version of -Pillow-Heif with more permissive license for binary wheels." - -Also, let ocrmypdf fall back to Ghostscript as pypdfium2 remains unpackaged -(see https://ocrmypdf.readthedocs.io/en/latest/cookbook.html#select-a-rasterizer). - ---- a/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 -+++ b/pyproject.toml 2026-06-27 12:45:35.368517730 +0200 -@@ -17,12 +17,11 @@ - "img2pdf>=0.5", - "packaging>=20", - "pdfminer.six>=20260107", # fixes parsing of tokens split across the read buffer/streams (gh #1361) -- "pi-heif", # Heif image format - maintainers: if this is removed, it will NOT break -+ "pillow-heif", # Heif image format - maintainers: if this is removed, it will NOT break - "pikepdf>=10", - "Pillow>=10.0.1", - "pluggy>=1", - "pydantic>=2.12.5", -- "pypdfium2>=5.0.0", - "rich>=13", - "uharfbuzz>=0.53.2", - ] - ---- a/src/ocrmypdf/_pipeline.py 2020-02-02 01:00:00.000000000 +0100 -+++ b/src/ocrmypdf/_pipeline.py 2025-11-22 17:27:57.466003395 +0100 -@@ -42,7 +42,7 @@ - from ocrmypdf.pluginspec import OrientationConfidence - - try: -- from pi_heif import register_heif_opener -+ from pillow_heif import register_heif_opener - except ImportError: - - def register_heif_opener(): diff --git a/srcpkgs/python3-ocrmypdf/template b/srcpkgs/python3-ocrmypdf/template index cbcee9b8a9e62f..ed0505dc362dbc 100644 --- a/srcpkgs/python3-ocrmypdf/template +++ b/srcpkgs/python3-ocrmypdf/template @@ -1,9 +1,10 @@ # Template file for 'python3-ocrmypdf' pkgname=python3-ocrmypdf -version=17.8.1 +version=17.12.1 revision=1 build_style=python3-pep517 make_check_args=" + --ignore=tests/test_pypdfium.py --deselect=tests/test_rotation.py::test_rotated_skew_timeout[pypdfium] --deselect=tests/test_rotation.py::test_rotate_deskew_ocr_timeout[pypdfium] --deselect=tests/test_rotation.py::test_rasterize_rotates[pypdfium] @@ -21,7 +22,11 @@ license="MPL-2.0" homepage="https://github.com/ocrmypdf/OCRmyPDF" changelog="https://raw.githubusercontent.com/ocrmypdf/OCRmyPDF/main/docs/releasenotes/version${version%%.*}.md" distfiles="${PYPI_SITE}/o/ocrmypdf/ocrmypdf-${version}.tar.gz" -checksum=6f72e4da5fd7805e5d677c0fc55ad380c70e1c7ad33dd9ce2402575194803e08 +checksum=aca73a23a80cf2f46a4c15040b0035203dbf74054b7a0c3a7ee93b05abc555a6 + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + make_check_args+=" --deselect=tests/test_helpers.py::test_malloc_trim_found_on_glibc" +fi post_install() { vcompletion misc/completion/ocrmypdf.bash bash ocrmypdf diff --git a/srcpkgs/python3-pikepdf/template b/srcpkgs/python3-pikepdf/template index 60901a58fb60ad..ca243766343544 100644 --- a/srcpkgs/python3-pikepdf/template +++ b/srcpkgs/python3-pikepdf/template @@ -1,6 +1,6 @@ # Template file for 'python3-pikepdf' pkgname=python3-pikepdf -version=10.10.0 +version=10.13.0.post1 revision=1 build_style=python3-pep517 hostmakedepends="ninja python3-scikit-build-core python3-nanobind" @@ -14,7 +14,7 @@ license="MPL-2.0" homepage="https://github.com/pikepdf/pikepdf" changelog="https://raw.githubusercontent.com/pikepdf/pikepdf/main/docs/releasenotes/version${version%%.*}.md" distfiles="${PYPI_SITE}/p/pikepdf/pikepdf-${version}.tar.gz" -checksum=9f134806b2fe608ccb21379a664ddcefeac3f6944100d343b350299d3c69754e +checksum=4b73f926ebae81f04bf14527af330bd00bb268be767e0f189f7c4c3e4ad7ae0a export CMAKE_ARGS="-DPython_INCLUDE_DIR:PATH=${XBPS_CROSS_BASE}/${py3_inc}" diff --git a/srcpkgs/python3-uharfbuzz/template b/srcpkgs/python3-uharfbuzz/template index 84254db54896fc..53cf3db0610ac8 100644 --- a/srcpkgs/python3-uharfbuzz/template +++ b/srcpkgs/python3-uharfbuzz/template @@ -1,6 +1,6 @@ # Template file for 'python3-uharfbuzz' pkgname=python3-uharfbuzz -version=0.56.0 +version=0.56.1 revision=1 build_style=python3-pep517 hostmakedepends="python3-setuptools_scm python3-wheel python3-Cython python3-pkgconfig" @@ -13,4 +13,4 @@ license="Apache-2.0" homepage="https://github.com/harfbuzz/uharfbuzz" changelog="https://github.com/harfbuzz/uharfbuzz/releases" distfiles="${PYPI_SITE}/u/uharfbuzz/uharfbuzz-${version}.tar.gz" -checksum=77f4ad1c9f32f44cc6f0c0c4f98fab54587719c96c810a043d01669f704d3e0c +checksum=a0a6928ed66b166a931ebe5df9ac551b9c42983513030233dcd95b41fa827f97