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" <[email protected]>
+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" <[email protected]>
+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" <[email protected]>
+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" <[email protected]>
+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
+