From bbfd00b951737872c0a9bdda77921b3406b9257c Mon Sep 17 00:00:00 2001 From: Mateusz Sylwestrzak Date: Wed, 5 Aug 2026 14:29:48 +0200 Subject: [PATCH 1/3] python3-ocrmypdf: update to 17.11.0 --- .../patches/tesseract_binary_name_fixup.patch | 13 ++++++------- .../use_pillow_heif_instead_of_pi_heif.patch | 9 +++++---- srcpkgs/python3-ocrmypdf/template | 9 +++++++-- 3 files changed, 18 insertions(+), 13 deletions(-) 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 index 6c1f09bcac556e..6a373914824692 100644 --- 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 @@ -5,21 +5,22 @@ 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 @@ ++++ b/pyproject.toml 2026-08-29 13:33:51.061587980 +0200 +@@ -16,13 +16,12 @@ "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", + "Pillow>=12", # imageops.has_decoded_pixels() reads Image._im, + # 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", - ] --- 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 diff --git a/srcpkgs/python3-ocrmypdf/template b/srcpkgs/python3-ocrmypdf/template index cbcee9b8a9e62f..9637f0546c33f6 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.11.0 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=8e41cbba23bba9ce20bc557576211e1829d1beaef00183bacd227b4b9482af87 + +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 From d48c8373be6cf650da6b8de2770b260faf2ffc46 Mon Sep 17 00:00:00 2001 From: Mateusz Sylwestrzak Date: Wed, 5 Aug 2026 14:44:15 +0200 Subject: [PATCH 2/3] ghostscript: update to 10.07.1 --- srcpkgs/ghostscript/patches/32bit.patch | 26 ------------------------- srcpkgs/ghostscript/template | 7 +++---- 2 files changed, 3 insertions(+), 30 deletions(-) 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..2d6823796155e7 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.07.1 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=1cdb766de8db8f1e589c817f09c5855ea5f65dfc8540e465a69ac14c18416025 CFLAGS=-fPIC From d5c52ae968df967e58ccb2ea93bad3b15cdc6409 Mon Sep 17 00:00:00 2001 From: Mateusz Sylwestrzak Date: Wed, 12 Aug 2026 12:41:08 +0200 Subject: [PATCH 3/3] python3-fpdf2: update to 2.8.8 --- srcpkgs/python3-fpdf2/template | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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