summaryrefslogtreecommitdiff
path: root/dev-util/diffoscope
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-08 06:15:27 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-08 06:15:27 +0000
commit268f9f01921ccb921b794d43092c5f29c1e96c56 (patch)
tree07329b3a8cb5d315182a2ec2b2f4a4b36374724d /dev-util/diffoscope
parente3a48e635527f3e2d2254e9631f7a5758df9c3fb (diff)
gentoo auto-resync : 08:01:2023 - 06:15:27
Diffstat (limited to 'dev-util/diffoscope')
-rw-r--r--dev-util/diffoscope/Manifest3
-rw-r--r--dev-util/diffoscope/diffoscope-231-r1.ebuild (renamed from dev-util/diffoscope/diffoscope-231.ebuild)4
-rw-r--r--dev-util/diffoscope/files/diffoscope-231-pypdf.patch180
3 files changed, 186 insertions, 1 deletions
diff --git a/dev-util/diffoscope/Manifest b/dev-util/diffoscope/Manifest
index 62903b14b98b..fb1f07c36198 100644
--- a/dev-util/diffoscope/Manifest
+++ b/dev-util/diffoscope/Manifest
@@ -1,7 +1,8 @@
+AUX diffoscope-231-pypdf.patch 5490 BLAKE2B a0226b4cd7b8b0d257968597c19706bf228c720fb5d13ab93aa68187f739c6dcc8e222c5a79b1e4e3ab6209842535080b52a7885d6538b456de8c94ec9154e19 SHA512 91afae48467e84ac85f70854fee56df731fda445b32e852dcf77f9d3afb8f5c6964e3a9912bb332789c60a79da84e6251e270a977ee2f5b5cf16d12eeb312689
DIST diffoscope-229.tar.gz 3164192 BLAKE2B bee9fa1561ddcfde98cfa44cd6d66a28c636dbc7f3ec1f4895e91dfd3b66c039b68d53be0528b94c112552069886c3c81de4d9b9bc9038d183afdc9fdde6ddb9 SHA512 825c9c33f3088ba082ea3b998594445987558ee62b8b1fbfcded9b72a739faaa73908f8753b8772b3b1a8a43dbcfd52978265a18bdd92605defcd174884ccb23
DIST diffoscope-230.tar.gz 3164600 BLAKE2B f5ad44ff36d07fc5724895e661e0946b292146d004e97159fef1cb58ff38669702a3990740e4ea34300a9b48aeb10263aeb6bb332da3ec987c355ed5b910fedd SHA512 e025e5f95ae2fb9de466b886c58a44f64e0f654fb049bf9f035209fe7ca1fd0ccc14a382b17085c13bc9f2be0d368482d57a071a577cb87628ae7eb0060158ad
DIST diffoscope-231.tar.gz 3164686 BLAKE2B 5fe1546f63a047def4d1c9acc94360085be87460de1c106381532d937d1ad16be64749b9021caa7980a61a0dfd822ed7163e0f52bb0cab0520962b84bb184650 SHA512 544510de0790fc8f0c62030bc557f923bad6d5c39b7364e9944ebcf9bc5c1ecf2b9ecc91cf9142e54a23b1f004f53e96ed5b6f2f4637fa76cebd2ed7d0e4721d
EBUILD diffoscope-229.ebuild 3562 BLAKE2B 103db80102cb91b40241f3beb9b51118381ff90041a3a2e9f66356b4a16d088c9d0d76de19cf66dce634e96f3f0cf2337c9c5ada17460ec643c406a5be32d274 SHA512 ce0f6e56a4b9ce0ed00f2db3b0fa2143ffef59e253c321ac476d213f6937102c8af747016c6f8f5195b3b49c26bf12aef70309b725625869c20e6dfd2cfb39c4
EBUILD diffoscope-230.ebuild 3569 BLAKE2B 0f2c90d2ac24f75a70391d46994b148bdc9ee03793cb5548c8fec4acffc507d494b73e9e0d0d77b9128e8087bd4966af9c8c012dd9482304845026831bcb5a0e SHA512 67999a8f3074b144f9b73b99b0b76884fdfdca4afea7c6eb281ed392501289d99bc28c651530a81d2793427de50e24eaccf2fc9a6cfbcb255bd8ed506d15e859
-EBUILD diffoscope-231.ebuild 3568 BLAKE2B 7fd37f690793787c4855071df56e0a6ab88c3aa8d6a7683dc666956165f5830d3eee62f385376acb98f9ff6311fdf48ea5b7686ff670d34fe620936d197417dd SHA512 a6e2a888f506d2f385a6c59ad435398403b85440fd9b89953ac1956de383cffaf4decc6ecfff76ad7f03c90da719fe14bd2869a9726c99c7b0b5e455a33337d5
+EBUILD diffoscope-231-r1.ebuild 3618 BLAKE2B 6fb0b278c039391f4a004c578abbb70fc094b4bfe811a0e88273bd457816673fce97800ab288fd0166a77fbee9f1ed34f7558332577f72fc9545fa17162722fe SHA512 8a95a7ec9c32fd0e933e0559dac11794709b16c2b2ded689c65140ac0ab845436a433d655f64aeb8b523eb2ea8eeb785f8a3b1ecb1bce7cf32c212404553df89
MISC metadata.xml 2078 BLAKE2B 3bb126836e45e8d4e5b6170a12219ec9cceb1a12dca4658211b1971cb16fa5593622642ade363904cf24df16de0749b957d0fc03838d2a9a004484d0b551c886 SHA512 382cefe0478282000b74e404cdd9d636a0323fceb55b97fd8545190628c319e0c5e213c7d082198e4b8b1fc693a52ce85c52b3ad831778e6fadbe6ba401782f5
diff --git a/dev-util/diffoscope/diffoscope-231.ebuild b/dev-util/diffoscope/diffoscope-231-r1.ebuild
index 0f8d6d4ddb54..cab11fbd86b6 100644
--- a/dev-util/diffoscope/diffoscope-231.ebuild
+++ b/dev-util/diffoscope/diffoscope-231-r1.ebuild
@@ -117,4 +117,8 @@ EPYTEST_DESELECT=(
tests/comparators/test_macho.py::test_llvm_diff
)
+PATCHES=(
+ "${FILESDIR}"/${PN}-231-pypdf.patch
+)
+
distutils_enable_tests pytest
diff --git a/dev-util/diffoscope/files/diffoscope-231-pypdf.patch b/dev-util/diffoscope/files/diffoscope-231-pypdf.patch
new file mode 100644
index 000000000000..7b4365c80eca
--- /dev/null
+++ b/dev-util/diffoscope/files/diffoscope-231-pypdf.patch
@@ -0,0 +1,180 @@
+https://bugs.gentoo.org/889250
+
+(Can't yet submit upstream as can't login to gitlab.)
+--- a/diffoscope.egg-info/requires.txt
++++ b/diffoscope.egg-info/requires.txt
+@@ -11,7 +11,7 @@ binwalk
+ defusedxml
+ guestfs
+ jsondiff
+-pypdf2
++pypdf
+ python-debian
+ pyxattr
+ rpm-python
+--- a/diffoscope/comparators/pdf.py
++++ b/diffoscope/comparators/pdf.py
+@@ -34,17 +34,23 @@ from .utils.command import Command
+ logger = logging.getLogger(__name__)
+
+ try:
+- import PyPDF2
++ try:
++ import pypdf
++ except ImportError:
++ import PyPDF2
+
+ try:
+- # PyPDF 2.x
+- from PyPDF2.errors import PdfReadError
++ from pypdf.errors import PdfReadError
+ except ImportError:
+- # PyPDF 1.x
+- from PyPDF2.utils import PdfReadError
++ try:
++ # PyPDF 2.x
++ from PyPDF2.errors import PdfReadError
++ except ImportError:
++ # PyPDF 1.x
++ from PyPDF2.utils import PdfReadError
+
+ except ImportError: # noqa
+- python_module_missing("PyPDF2")
++ python_module_missing("pypdf")
+ PyPDF2 = None
+
+
+@@ -68,10 +74,10 @@ class PdfFile(File):
+ xs = []
+
+ if PyPDF2 is None:
+- pkg = get_package_provider("pypdf2")
++ pkg = get_package_provider("pypdf")
+ infix = f" from the '{pkg}' package " if pkg else " "
+ self.add_comment(
+- f"Installing the 'PyPDF2' Python module{infix}may produce a better output."
++ f"Installing the 'pypdf' Python module{infix}may produce a better output."
+ )
+ else:
+ difference = Difference.from_text(
+@@ -119,7 +125,7 @@ class PdfFile(File):
+
+ return "\n".join(xs)
+ except PdfReadError as e:
+- msg = f"Could not extract PyPDF2 metadata from {os.path.basename(file.name)}: {e}"
++ msg = f"Could not extract pypdf metadata from {os.path.basename(file.name)}: {e}"
+ self.add_comment(msg)
+ logger.error(msg)
+ return ""
+@@ -142,7 +148,7 @@ class PdfFile(File):
+
+ return "\n".join(xs)
+ except PdfReadError as e:
+- msg = f"Could not extract PyPDF2 annotations from {os.path.basename(file.name)}: {e}"
++ msg = f"Could not extract pypdf annotations from {os.path.basename(file.name)}: {e}"
+ file.add_comment(msg)
+ logger.error(msg)
+ return ""
+--- a/setup.py
++++ b/setup.py
+@@ -66,7 +66,7 @@ setup(
+ "guestfs",
+ "jsondiff",
+ "python-debian",
+- "pypdf2",
++ "pypdf",
+ "pyxattr",
+ "rpm-python",
+ "tlsh",
+--- a/tests/comparators/test_pdf.py
++++ b/tests/comparators/test_pdf.py
+@@ -70,7 +70,7 @@ def differences_metadata(pdf1, pdf1a):
+
+
+ @skip_unless_tools_exist("pdftotext")
+-@skip_unless_module_exists("PyPDF2")
++@skip_unless_module_exists("pypdf")
+ def test_metadata(differences_metadata):
+ assert_diff(differences_metadata[0], "pdf_metadata_expected_diff")
+
+@@ -81,7 +81,7 @@ def differences_annotations(pdf3, pdf4):
+
+
+ @skip_unless_tools_exist("pdftotext")
+-@skip_unless_module_exists("PyPDF2")
++@skip_unless_module_exists("pypdf")
+ def test_annotations(differences_annotations):
+ with open("tests/data/pdf_annotations_expected_diff", "w") as f:
+ f.write(differences_annotations[0].unified_diff)
+--- a/diffoscope/comparators/pdf.py
++++ b/diffoscope/comparators/pdf.py
+@@ -38,6 +38,7 @@ try:
+ import pypdf
+ except ImportError:
+ import PyPDF2
++ pypdf = PyPDF2
+
+ try:
+ from pypdf.errors import PdfReadError
+@@ -51,7 +52,7 @@ try:
+
+ except ImportError: # noqa
+ python_module_missing("pypdf")
+- PyPDF2 = None
++ pypdf = None
+
+
+ class Pdftotext(Command):
+@@ -73,7 +74,7 @@ class PdfFile(File):
+ def compare_details(self, other, source=None):
+ xs = []
+
+- if PyPDF2 is None:
++ if pypdf is None:
+ pkg = get_package_provider("pypdf")
+ infix = f" from the '{pkg}' package " if pkg else " "
+ self.add_comment(
+@@ -113,7 +114,7 @@ class PdfFile(File):
+
+ def dump_pypdf2_metadata(self, file):
+ try:
+- pdf = PyPDF2.PdfFileReader(file.path)
++ pdf = pypdf.PdfReader(file.path)
+ document_info = pdf.getDocumentInfo()
+
+ if document_info is None:
+@@ -133,10 +133,10 @@ class PdfFile(File):
+
+ def dump_pypdf2_annotations(self, file):
+ try:
+- pdf = PyPDF2.PdfFileReader(file.path)
++ pdf = pypdf.PdfReader(file.path)
+
+ xs = []
+- for x in range(pdf.getNumPages()):
++ for x in range(len(pdf.pages)):
+ page = pdf.getPage(x)
+
+ try:
+--- a/diffoscope/comparators/pdf.py
++++ b/diffoscope/comparators/pdf.py
+@@ -115,7 +115,7 @@ class PdfFile(File):
+ def dump_pypdf2_metadata(self, file):
+ try:
+ pdf = pypdf.PdfReader(file.path)
+- document_info = pdf.getDocumentInfo()
++ document_info = pdf.metadata
+
+ if document_info is None:
+ return ""
+--- a/diffoscope/comparators/pdf.py
++++ b/diffoscope/comparators/pdf.py
+@@ -137,7 +137,7 @@ class PdfFile(File):
+
+ xs = []
+ for x in range(len(pdf.pages)):
+- page = pdf.getPage(x)
++ page = pdf.pages[x]
+
+ try:
+ for annot in page["/Annots"]: