commit: 7ed92255d754715c91fe67ac05efcf1f502365aa Author: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in> AuthorDate: Sat Jul 5 18:34:17 2025 +0000 Commit: Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in> CommitDate: Sat Jul 5 19:10:47 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7ed92255
app-text/OCRmyPDF: add 16.10.2, drop old Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in> app-text/OCRmyPDF/Manifest | 3 +- ...yPDF-16.10.0.ebuild => OCRmyPDF-16.10.2.ebuild} | 7 +- app-text/OCRmyPDF/OCRmyPDF-16.9.0.ebuild | 83 ---------------------- .../OCRmyPDF-16.10.2-suppress-runtime-error.patch | 50 +++++++++++++ .../files/OCRmyPDF-16.10.2-xfail-tests.patch | 81 +++++++++++++++++++++ 5 files changed, 138 insertions(+), 86 deletions(-) diff --git a/app-text/OCRmyPDF/Manifest b/app-text/OCRmyPDF/Manifest index 0d798a1d4c..13209957e7 100644 --- a/app-text/OCRmyPDF/Manifest +++ b/app-text/OCRmyPDF/Manifest @@ -1,2 +1 @@ -DIST ocrmypdf-16.10.0.tar.gz 6809110 BLAKE2B 65167d586d932a75fd0d13a1497423433005f853e2ace36daa0efd3f33a14b31a4e2d3433b63ec350bd6ad5283a09f36409470ae2eab63f9dc5da821c9f69ba1 SHA512 83aef50ca42d5c9c1ce5b88972012d7baed6b001434bf66918c4440ee49cbd9bd2bc0f0766e8a636359e2ab4d71ecd3f55605a57ee37ec66135704b86933b9a6 -DIST ocrmypdf-16.9.0.tar.gz 6804849 BLAKE2B 4ab94d90e6b2936a4d39e2f511cca04646506f09c216477a9143a18f68ec66179e22d77d71f4ae06ab553e882860d96ef05daf71932c01a8f3c051ade8e08a90 SHA512 3eaab40f931e231795397a2a9017425489ad6277d4bfc79bc13e9e4a06f7dc4cf0013566ac2ba5e29b6931c8c22cedf679227abb04daa99f22bdbead2f6cb535 +DIST ocrmypdf-16.10.2.tar.gz 6996190 BLAKE2B 129897cf83748c6f8d2e5947e547a622eee3a5279772a03402b9d99918be085dc05f5fd647ad2822e6d0cbf3cfa9467ea3660b15dc86f007da7d5e4a12518341 SHA512 28c5c72df765eecd8d7d82a8b92459c8229ac88ce70590c0ee1ca2862a87e518f00805b23befe41ed71c5f99311ac81e5b7638e71553d52bf80f46ab0529578b diff --git a/app-text/OCRmyPDF/OCRmyPDF-16.10.0.ebuild b/app-text/OCRmyPDF/OCRmyPDF-16.10.2.ebuild similarity index 93% rename from app-text/OCRmyPDF/OCRmyPDF-16.10.0.ebuild rename to app-text/OCRmyPDF/OCRmyPDF-16.10.2.ebuild index be4a2de0d1..a9d5b7d426 100644 --- a/app-text/OCRmyPDF/OCRmyPDF-16.10.0.ebuild +++ b/app-text/OCRmyPDF/OCRmyPDF-16.10.2.ebuild @@ -33,7 +33,6 @@ BDEPEND=" test? ( app-text/tessdata_fast[l10n_de,l10n_en] >=app-text/unpaper-6.1 - >=dev-python/hypothesis-6.36.0[${PYTHON_USEDEP}] >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}] >=dev-python/reportlab-3.6.8[${PYTHON_USEDEP}] >=media-gfx/pngquant-2.5 @@ -41,6 +40,12 @@ BDEPEND=" ) " +PATCHES=( + "${FILESDIR}"/${PN}-16.10.2-suppress-runtime-error.patch + "${FILESDIR}"/${PN}-16.10.2-xfail-tests.patch +) + +EPYTEST_PLUGINS=( hypothesis ) EPYTEST_XDIST="yes" EPYTEST_IGNORE=( # Useless test diff --git a/app-text/OCRmyPDF/OCRmyPDF-16.9.0.ebuild b/app-text/OCRmyPDF/OCRmyPDF-16.9.0.ebuild deleted file mode 100644 index 26d12106d4..0000000000 --- a/app-text/OCRmyPDF/OCRmyPDF-16.9.0.ebuild +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 2020-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{11..12} ) - -inherit distutils-r1 optfeature pypi shell-completion - -DESCRIPTION="OCRmyPDF adds an OCR text layer to scanned PDF files" -HOMEPAGE="https://github.com/ocrmypdf/OCRmyPDF" - -LICENSE="CC-BY-SA-2.5 CC-BY-SA-4.0 MIT MPL-2.0 ZLIB" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - >=app-text/ghostscript-gpl-10.01.2 - >=app-text/pdfminer-20220319[${PYTHON_USEDEP}] - >=app-text/tesseract-4.1.1[jpeg,tiff,png,webp] - >=dev-python/deprecation-2.1.0[${PYTHON_USEDEP}] - >=dev-python/packaging-20[${PYTHON_USEDEP}] - >=dev-python/pikepdf-8.10.1[${PYTHON_USEDEP}] - >=dev-python/pillow-10.0.1[jpeg2k,lcms,${PYTHON_USEDEP}] - >=dev-python/pluggy-1.0[${PYTHON_USEDEP}] - >=dev-python/rich-13.0[${PYTHON_USEDEP}] - >=media-gfx/img2pdf-0.5[${PYTHON_USEDEP}] -" -# TODO: package PyMuPDF for tests -BDEPEND=" - dev-python/hatch-vcs[${PYTHON_USEDEP}] - test? ( - app-text/tessdata_fast[l10n_de,l10n_en] - >=app-text/unpaper-6.1 - >=dev-python/hypothesis-6.36.0[${PYTHON_USEDEP}] - >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}] - >=dev-python/reportlab-3.6.8[${PYTHON_USEDEP}] - >=media-gfx/pngquant-2.5 - >=media-libs/jbig2enc-0.29 - ) -" - -EPYTEST_XDIST="yes" -EPYTEST_IGNORE=( - # Useless test - tests/test_completion.py -) -EPYTEST_DESELECT=( - # Fails if Tesseract was compiled with Clang - tests/test_rotation.py::test_rotate_deskew_ocr_timeout - - # XFAIL reason should be a string, not a tuple - tests/test_metadata.py::test_malformed_docinfo -) - -distutils_enable_tests pytest - -distutils_enable_sphinx docs \ - dev-python/sphinx-issues \ - dev-python/sphinx-rtd-theme - -export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} - -python_test() { - epytest -o addopts= -} - -src_install() { - distutils-r1_src_install - - newbashcomp misc/completion/ocrmypdf.bash ocrmypdf - dofishcomp misc/completion/ocrmypdf.fish -} - -pkg_postinst() { - optfeature "image cleaning support" app-text/unpaper - optfeature "JBIG2 optimization support" media-libs/jbig2enc - optfeature "PNG optimization support" media-gfx/pngquant - - # TODO: package pi-heif - #optfeature "HEIF image format support" dev-python/pi-heif -} diff --git a/app-text/OCRmyPDF/files/OCRmyPDF-16.10.2-suppress-runtime-error.patch b/app-text/OCRmyPDF/files/OCRmyPDF-16.10.2-suppress-runtime-error.patch new file mode 100644 index 0000000000..9a4743d870 --- /dev/null +++ b/app-text/OCRmyPDF/files/OCRmyPDF-16.10.2-suppress-runtime-error.patch @@ -0,0 +1,50 @@ +From 332369f1b0b794577ac0bfcd4928bcc7a169689d Mon Sep 17 00:00:00 2001 +From: "James R. Barlow" <ja...@purplerock.ca> +Date: Fri, 13 Jun 2025 01:22:01 -0700 +Subject: [PATCH 1/2] Adjust set_start_method decision, changing fork to + forkserver for platforms other than win32, darwin + +--- + src/ocrmypdf/__main__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ocrmypdf/__main__.py b/src/ocrmypdf/__main__.py +index cec02d13..29171fe1 100755 +--- a/src/ocrmypdf/__main__.py ++++ b/src/ocrmypdf/__main__.py +@@ -78,6 +78,6 @@ def run(args=None): + + if __name__ == '__main__': + multiprocessing.freeze_support() +- if os.name == 'posix': ++ if sys.platform not in ('win32', 'darwin'): + multiprocessing.set_start_method('forkserver') + sys.exit(run()) +-- +2.50.0 + + +From 61163c2aa9f7aa584d3148634a9ca277103eccbf Mon Sep 17 00:00:00 2001 +From: "James R. Barlow" <ja...@purplerock.ca> +Date: Fri, 13 Jun 2025 01:46:30 -0700 +Subject: [PATCH 2/2] Fix stupid Python runtimeerror + +--- + src/ocrmypdf/__main__.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/ocrmypdf/__main__.py b/src/ocrmypdf/__main__.py +index 29171fe1..74a035ef 100755 +--- a/src/ocrmypdf/__main__.py ++++ b/src/ocrmypdf/__main__.py +@@ -79,5 +79,6 @@ def run(args=None): + if __name__ == '__main__': + multiprocessing.freeze_support() + if sys.platform not in ('win32', 'darwin'): +- multiprocessing.set_start_method('forkserver') ++ with suppress(RuntimeError): ++ multiprocessing.set_start_method('forkserver') + sys.exit(run()) +-- +2.50.0 + diff --git a/app-text/OCRmyPDF/files/OCRmyPDF-16.10.2-xfail-tests.patch b/app-text/OCRmyPDF/files/OCRmyPDF-16.10.2-xfail-tests.patch new file mode 100644 index 0000000000..d8e6a633b3 --- /dev/null +++ b/app-text/OCRmyPDF/files/OCRmyPDF-16.10.2-xfail-tests.patch @@ -0,0 +1,81 @@ +From 633d59b94f702eb36d51ea3e6a8285b64e7cf710 Mon Sep 17 00:00:00 2001 +From: "James R. Barlow" <ja...@purplerock.ca> +Date: Thu, 3 Jul 2025 09:21:31 -0700 +Subject: [PATCH 1/2] xfail Python logging bug in 3.13.3/4 + +--- + tests/test_ghostscript.py | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/tests/test_ghostscript.py b/tests/test_ghostscript.py +index 1a511c44..1ddd07cb 100644 +--- a/tests/test_ghostscript.py ++++ b/tests/test_ghostscript.py +@@ -6,6 +6,7 @@ from __future__ import annotations + import logging + import secrets + import subprocess ++import sys + from decimal import Decimal + from unittest.mock import patch + +@@ -163,6 +164,10 @@ class TestDuplicateFilter: + logger.addFilter(DuplicateFilter(logger)) + return logger + ++ @pytest.mark.xfail( ++ (3, 13, 3) <= sys.version_info <= (3, 13, 5), ++ reason="https://github.com/python/cpython/pull/135858", ++ ) + def test_filter_duplicate_messages(self, duplicate_filter_logger, caplog): + log = duplicate_filter_logger + log.error("test error message") +@@ -192,6 +197,10 @@ class TestDuplicateFilter: + assert caplog.records[1].msg == "another error message" + assert caplog.records[2].msg == "yet another error message" + ++ @pytest.mark.xfail( ++ (3, 13, 3) <= sys.version_info <= (3, 13, 5), ++ reason="https://github.com/python/cpython/pull/135858", ++ ) + def test_filter_alt_messages(self, duplicate_filter_logger, caplog): + log = duplicate_filter_logger + log.error("test error message") +-- +2.50.0 + + +From 664dffb9d7843c42acc8a7c5889f722872de0f9a Mon Sep 17 00:00:00 2001 +From: "James R. Barlow" <ja...@purplerock.ca> +Date: Thu, 3 Jul 2025 11:30:05 -0700 +Subject: [PATCH 2/2] Fix version test + +--- + tests/test_ghostscript.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/test_ghostscript.py b/tests/test_ghostscript.py +index 1ddd07cb..417badaf 100644 +--- a/tests/test_ghostscript.py ++++ b/tests/test_ghostscript.py +@@ -165,7 +165,7 @@ class TestDuplicateFilter: + return logger + + @pytest.mark.xfail( +- (3, 13, 3) <= sys.version_info <= (3, 13, 5), ++ (3, 13, 3) <= sys.version_info[:3] <= (3, 13, 5), + reason="https://github.com/python/cpython/pull/135858", + ) + def test_filter_duplicate_messages(self, duplicate_filter_logger, caplog): +@@ -198,7 +198,7 @@ class TestDuplicateFilter: + assert caplog.records[2].msg == "yet another error message" + + @pytest.mark.xfail( +- (3, 13, 3) <= sys.version_info <= (3, 13, 5), ++ (3, 13, 3) <= sys.version_info[:3] <= (3, 13, 5), + reason="https://github.com/python/cpython/pull/135858", + ) + def test_filter_alt_messages(self, duplicate_filter_logger, caplog): +-- +2.50.0 +