diff options
Diffstat (limited to 'dev-util/diffoscope')
-rw-r--r-- | dev-util/diffoscope/Manifest | 7 | ||||
-rw-r--r-- | dev-util/diffoscope/diffoscope-231-r1.ebuild | 124 | ||||
-rw-r--r-- | dev-util/diffoscope/diffoscope-232.ebuild (renamed from dev-util/diffoscope/diffoscope-230.ebuild) | 2 | ||||
-rw-r--r-- | dev-util/diffoscope/files/diffoscope-231-pypdf.patch | 190 |
4 files changed, 3 insertions, 320 deletions
diff --git a/dev-util/diffoscope/Manifest b/dev-util/diffoscope/Manifest index 536dc60ad89c..f84c183384df 100644 --- a/dev-util/diffoscope/Manifest +++ b/dev-util/diffoscope/Manifest @@ -1,8 +1,5 @@ -AUX diffoscope-231-pypdf.patch 5947 BLAKE2B 98ccfdcb3d7d62e34eac7dd59ba455996c7621f8a9ef3023c90969a42d69c3589af4db2d571e6c2d063cf44dc97f95d2872f8095b4b56e75d5350bf2e1b6e4ea SHA512 37cdcc4ecd7788f39e26f7e0581f81642ea2dd77560ff8423914f9f41e4cb121b5175a0fb660c93fb483dc94215eebcb3f22e5ab6398a3dd29158af128c4d074 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 +DIST diffoscope-232.tar.gz 3164825 BLAKE2B a65ff66881cf67cdfd32eb1e14bf654c152447799415f686d774f30f7d3ec61b5de8f1caf4b3551312be7f2ab93187ea145b6bf96c7790cc3792221d621cdeb3 SHA512 7b8ae407e4e1b3c5085fa26f9477b75e3918a99b2d60498a7d939f06a3018bc5f6ca417d041a39dc769ef897a189c0dfdf6d35851b945c3e28b16f290bddb630 EBUILD diffoscope-229.ebuild 3567 BLAKE2B f072f377fa06316742810be8de7ef0d24f94448e2a0626aba507b5af54ab8915833aa4ebde7668c3cac05437a9db198e4849ae7558f0413a2a72856bca8ede89 SHA512 963c4d3a4ca14b360a8f062eacbdf82f1c30d59f4a0bd47eba11761007fe1e5227a15635a66d9e75150c72aa14da0d7782bcc64987feecc01f32d614998f150f -EBUILD diffoscope-230.ebuild 3569 BLAKE2B 343395758faca6878ecd1f1036f58ab0dd2dbd95eb75f5db542405ad72dabc31d0e61a3e586db2f9be6244c5141b9133ac3a66348a913092a4f75005fa85548d SHA512 7ef0004c568a590b146484f46a6242a4d1ca2c107476ecedce8731e118c1bc2709526ae8f0902b06278dbb95a7f94ba0e5456fb681ef476ce9e934ebf6301c18 -EBUILD diffoscope-231-r1.ebuild 3618 BLAKE2B eba8221d51067117d2a3e2e9c4759db7053afbfe6a398a3b36fc8d75c10c7f74dd87a712aeb761cf7316b97bcdb37d1bdfd44e9da9e5567caaa70787b3e4a7c2 SHA512 8a8d1a405e059dab75037379d2347989d82a80c52c05e7751ac64c3562b137e634ac438a7cb2d855cfff25e6e18ba673c7b0766a6546ab55e37d0a9953d6bf25 +EBUILD diffoscope-232.ebuild 3568 BLAKE2B 992460e5ac2d0f8d781d3fc45ee55e915c7223d75297a3dc6f70577d0ab5d3165492da4ef2ff03ed8ed20af712eab4b3bac122acfa143c34c10d738bd6e4b831 SHA512 c209475acf363cecc9be96f5fe437e2f0250d186279969c0e4ea7a0eeaded8683a53ca4a2b5c615762e2699392ba557f48ae567cf0205de85a92c41e74e10063 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 deleted file mode 100644 index 4703fb6293f4..000000000000 --- a/dev-util/diffoscope/diffoscope-231-r1.ebuild +++ /dev/null @@ -1,124 +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_{9..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-230.ebuild b/dev-util/diffoscope/diffoscope-232.ebuild index 04f039551ffb..a69e36d1c939 100644 --- a/dev-util/diffoscope/diffoscope-230.ebuild +++ b/dev-util/diffoscope/diffoscope-232.ebuild @@ -55,7 +55,7 @@ RDEPEND=" pdf? ( app-text/pdftk app-text/poppler - dev-python/PyPDF2[${PYTHON_USEDEP}] + dev-python/pypdf[${PYTHON_USEDEP}] ) postscript? ( app-text/ghostscript-gpl ) R? ( dev-lang/R ) diff --git a/dev-util/diffoscope/files/diffoscope-231-pypdf.patch b/dev-util/diffoscope/files/diffoscope-231-pypdf.patch deleted file mode 100644 index 4376e03f668c..000000000000 --- a/dev-util/diffoscope/files/diffoscope-231-pypdf.patch +++ /dev/null @@ -1,190 +0,0 @@ -https://salsa.debian.org/reproducible-builds/diffoscope/-/commit/6aed2e5320b5d412f0f81a36dd493ae4bd7c3ff4 -https://bugs.gentoo.org/889250 - -From 6aed2e5320b5d412f0f81a36dd493ae4bd7c3ff4 Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Mon, 9 Jan 2023 04:05:09 +0000 -Subject: [PATCH] Support PyPDF version 3. - -pypdf upstream has renamed the package from PyPDF2 to pypdf. This patch -supporst the new pypdf version while keeping compatibility for older PyPDF2, -adjusting to API changes. - -Signed-off-by: Chris Lamb <lamby@debian.org> ---- 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"]: |