From 268f9f01921ccb921b794d43092c5f29c1e96c56 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 8 Jan 2023 06:15:27 +0000 Subject: gentoo auto-resync : 08:01:2023 - 06:15:27 --- dev-util/diffoscope/Manifest | 3 +- dev-util/diffoscope/diffoscope-231-r1.ebuild | 124 ++++++++++++++ dev-util/diffoscope/diffoscope-231.ebuild | 120 -------------- .../diffoscope/files/diffoscope-231-pypdf.patch | 180 +++++++++++++++++++++ 4 files changed, 306 insertions(+), 121 deletions(-) create mode 100644 dev-util/diffoscope/diffoscope-231-r1.ebuild delete mode 100644 dev-util/diffoscope/diffoscope-231.ebuild create mode 100644 dev-util/diffoscope/files/diffoscope-231-pypdf.patch (limited to 'dev-util/diffoscope') 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-r1.ebuild b/dev-util/diffoscope/diffoscope-231-r1.ebuild new file mode 100644 index 000000000000..cab11fbd86b6 --- /dev/null +++ b/dev-util/diffoscope/diffoscope-231-r1.ebuild @@ -0,0 +1,124 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="ncurses" +inherit distutils-r1 + +DESCRIPTION="Will try to get to the bottom of what makes files or directories different" +HOMEPAGE="https://diffoscope.org/ https://pypi.org/project/diffoscope/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~x86" +IUSE="acl binutils bzip2 libcaca colord cpio +diff docx dtc e2fsprogs file +find gettext gif gpg haskell hdf5 hex imagemagick iso java llvm lzma +mono opendocument pascal pdf postscript R rpm sqlite squashfs +ssh tar test tcpdump zip zlib zstd" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/python-magic[${PYTHON_USEDEP}] + dev-python/libarchive-c[${PYTHON_USEDEP}] + dev-python/distro[${PYTHON_USEDEP}] + dev-python/tlsh[${PYTHON_USEDEP}] + acl? ( sys-apps/acl ) + binutils? ( sys-devel/binutils ) + bzip2? ( app-arch/bzip2 ) + libcaca? ( media-libs/libcaca ) + colord? ( x11-misc/colord ) + cpio? ( app-arch/cpio ) + diff? ( sys-apps/diffutils ) + docx? ( app-text/docx2txt ) + dtc? ( sys-apps/dtc ) + e2fsprogs? ( sys-fs/e2fsprogs ) + file? ( sys-apps/file ) + find? ( sys-apps/findutils ) + gettext? ( sys-devel/gettext ) + gif? ( media-libs/giflib ) + gpg? ( app-crypt/gnupg ) + haskell? ( dev-lang/ghc ) + hdf5? ( sci-libs/hdf5 ) + hex? ( app-editors/vim-core ) + imagemagick? ( media-gfx/imagemagick ) + iso? ( app-cdr/cdrtools ) + java? ( virtual/jdk ) + llvm? ( sys-devel/llvm ) + lzma? ( app-arch/xz-utils ) + mono? ( dev-lang/mono ) + opendocument? ( app-text/odt2txt ) + pascal? ( dev-lang/fpc ) + pdf? ( + app-text/pdftk + app-text/poppler + dev-python/pypdf[${PYTHON_USEDEP}] + ) + postscript? ( app-text/ghostscript-gpl ) + R? ( dev-lang/R ) + rpm? ( app-arch/rpm ) + sqlite? ( dev-db/sqlite:3 ) + squashfs? ( sys-fs/squashfs-tools ) + ssh? ( net-misc/openssh ) + tar? ( app-arch/tar ) + tcpdump? ( net-analyzer/tcpdump ) + zip? ( app-arch/unzip ) + zlib? ( app-arch/gzip ) + zstd? ( app-arch/zstd ) +" +# Presence of filemagic's magic.py breaks imports +# of dev-python/python-magic: bug #716482 +RDEPEND+=" !dev-python/filemagic" + +# pull in optional tools for tests: +# img2txt: bug #797688 +# docx2txt: bug #797688 +BDEPEND=" + test? ( + app-text/docx2txt + app-text/html2text + media-libs/libcaca + virtual/imagemagick-tools[jpeg] + ) +" + +EPYTEST_DESELECT=( + # Test seems to use different tarball + tests/test_presenters.py::test_text_proper_indentation + + # Needs triage + tests/comparators/test_binary.py::test_with_compare_details_and_tool_not_found + tests/comparators/test_rlib.py::test_item3_deflate_llvm_bitcode + tests/comparators/test_gif.py::test_has_visuals + + # img2txt based failures, bug #797688 + tests/comparators/test_ico_image.py::test_diff + tests/comparators/test_ico_image.py::test_diff_meta + tests/comparators/test_ico_image.py::test_diff_meta2 + tests/comparators/test_ico_image.py::test_has_visuals + tests/comparators/test_jpeg_image.py::test_diff + tests/comparators/test_jpeg_image.py::test_compare_non_existing + tests/comparators/test_jpeg_image.py::test_diff_meta + tests/comparators/test_jpeg_image.py::test_has_visuals + + # docx2txt based falures, bug #797688 + tests/comparators/test_docx.py::test_diff + + # Formatting + tests/test_source.py::test_code_is_black_clean + + # Fails on ZFS + tests/test_main.py::test_non_unicode_filename + + # Fails on (unreleased) LLVM 16 with minor difference + tests/comparators/test_macho.py::test_llvm_diff +) + +PATCHES=( + "${FILESDIR}"/${PN}-231-pypdf.patch +) + +distutils_enable_tests pytest diff --git a/dev-util/diffoscope/diffoscope-231.ebuild b/dev-util/diffoscope/diffoscope-231.ebuild deleted file mode 100644 index 0f8d6d4ddb54..000000000000 --- a/dev-util/diffoscope/diffoscope-231.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8..11} ) -PYTHON_REQ_USE="ncurses" -inherit distutils-r1 - -DESCRIPTION="Will try to get to the bottom of what makes files or directories different" -HOMEPAGE="https://diffoscope.org/ https://pypi.org/project/diffoscope/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~x86" -IUSE="acl binutils bzip2 libcaca colord cpio +diff docx dtc e2fsprogs file -find gettext gif gpg haskell hdf5 hex imagemagick iso java llvm lzma -mono opendocument pascal pdf postscript R rpm sqlite squashfs -ssh tar test tcpdump zip zlib zstd" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-python/python-magic[${PYTHON_USEDEP}] - dev-python/libarchive-c[${PYTHON_USEDEP}] - dev-python/distro[${PYTHON_USEDEP}] - dev-python/tlsh[${PYTHON_USEDEP}] - acl? ( sys-apps/acl ) - binutils? ( sys-devel/binutils ) - bzip2? ( app-arch/bzip2 ) - libcaca? ( media-libs/libcaca ) - colord? ( x11-misc/colord ) - cpio? ( app-arch/cpio ) - diff? ( sys-apps/diffutils ) - docx? ( app-text/docx2txt ) - dtc? ( sys-apps/dtc ) - e2fsprogs? ( sys-fs/e2fsprogs ) - file? ( sys-apps/file ) - find? ( sys-apps/findutils ) - gettext? ( sys-devel/gettext ) - gif? ( media-libs/giflib ) - gpg? ( app-crypt/gnupg ) - haskell? ( dev-lang/ghc ) - hdf5? ( sci-libs/hdf5 ) - hex? ( app-editors/vim-core ) - imagemagick? ( media-gfx/imagemagick ) - iso? ( app-cdr/cdrtools ) - java? ( virtual/jdk ) - llvm? ( sys-devel/llvm ) - lzma? ( app-arch/xz-utils ) - mono? ( dev-lang/mono ) - opendocument? ( app-text/odt2txt ) - pascal? ( dev-lang/fpc ) - pdf? ( - app-text/pdftk - app-text/poppler - dev-python/pypdf[${PYTHON_USEDEP}] - ) - postscript? ( app-text/ghostscript-gpl ) - R? ( dev-lang/R ) - rpm? ( app-arch/rpm ) - sqlite? ( dev-db/sqlite:3 ) - squashfs? ( sys-fs/squashfs-tools ) - ssh? ( net-misc/openssh ) - tar? ( app-arch/tar ) - tcpdump? ( net-analyzer/tcpdump ) - zip? ( app-arch/unzip ) - zlib? ( app-arch/gzip ) - zstd? ( app-arch/zstd ) -" -# Presence of filemagic's magic.py breaks imports -# of dev-python/python-magic: bug #716482 -RDEPEND+=" !dev-python/filemagic" - -# pull in optional tools for tests: -# img2txt: bug #797688 -# docx2txt: bug #797688 -BDEPEND=" - test? ( - app-text/docx2txt - app-text/html2text - media-libs/libcaca - virtual/imagemagick-tools[jpeg] - ) -" - -EPYTEST_DESELECT=( - # Test seems to use different tarball - tests/test_presenters.py::test_text_proper_indentation - - # Needs triage - tests/comparators/test_binary.py::test_with_compare_details_and_tool_not_found - tests/comparators/test_rlib.py::test_item3_deflate_llvm_bitcode - tests/comparators/test_gif.py::test_has_visuals - - # img2txt based failures, bug #797688 - tests/comparators/test_ico_image.py::test_diff - tests/comparators/test_ico_image.py::test_diff_meta - tests/comparators/test_ico_image.py::test_diff_meta2 - tests/comparators/test_ico_image.py::test_has_visuals - tests/comparators/test_jpeg_image.py::test_diff - tests/comparators/test_jpeg_image.py::test_compare_non_existing - tests/comparators/test_jpeg_image.py::test_diff_meta - tests/comparators/test_jpeg_image.py::test_has_visuals - - # docx2txt based falures, bug #797688 - tests/comparators/test_docx.py::test_diff - - # Formatting - tests/test_source.py::test_code_is_black_clean - - # Fails on ZFS - tests/test_main.py::test_non_unicode_filename - - # Fails on (unreleased) LLVM 16 with minor difference - tests/comparators/test_macho.py::test_llvm_diff -) - -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"]: -- cgit v1.2.3