mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-23 18:38:08 -07:00
dev-util/diffoscope: drop 230, 231-r1
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -1,4 +1,2 @@
|
||||
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
|
||||
|
||||
@@ -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_{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/PyPDF2[${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
|
||||
@@ -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
|
||||
@@ -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"]:
|
||||
Reference in New Issue
Block a user