diff options
Diffstat (limited to 'dev-util/diffoscope')
| -rw-r--r-- | dev-util/diffoscope/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/diffoscope/diffoscope-274.ebuild | 144 | ||||
| -rw-r--r-- | dev-util/diffoscope/files/diffoscope-274-new-zipdetails.patch | 87 |
3 files changed, 232 insertions, 0 deletions
diff --git a/dev-util/diffoscope/Manifest b/dev-util/diffoscope/Manifest index b52abbe5aaca..8a1da68118df 100644 --- a/dev-util/diffoscope/Manifest +++ b/dev-util/diffoscope/Manifest @@ -2,3 +2,4 @@ DIST diffoscope-266.tar.bz2 3148610 BLAKE2B 28090b8a1e2315f9df43d254d3dbd4ed8f6d DIST diffoscope-268.tar.bz2 3151657 BLAKE2B 2133611135347a9babfb55972ef5d456cc274634facc07ea8dc2c214147507d223a6fd8cf24541c04fc19c3510c7548bdaa5549f5587c9d99de7b61e64bd2f7d SHA512 9a0f3c81e9beb171fdef8282ac3938a5534f894437f898ab1437cdeb30a12c7fb8a1a494479f46c41d65e78fe014b8c1e510a72d0673f3d0d769d71c4af12a5d DIST diffoscope-271.tar.bz2 3155727 BLAKE2B fa4ee93158cf41215d071aa3caa1956325fdbb1e4f1a9e392485117cb58b8142ac7f326cd650e72440a2512a08aa2c6a7d9c64a0fa8bf9768c9f0d97a45d872e SHA512 f5688d82313f54a9b9db88c406cdd67f13aeb65a8aa844fa41a944f6beaa0b2189175c891ddaf3b345492141472ce0366fd22691c2c89fd9a3d8c0b8d62f476c DIST diffoscope-272.tar.bz2 3155265 BLAKE2B 76f8475993dc8be7297b50a2dda71b965789f6de04143e22b3b28c25e6646d9744088a49181faeb488921eb192b85072d16fee35f41450ba389c491e6a43c7b5 SHA512 f74d0166526da10604f25ba0425d3acc540cb92780776d108b60b07d00fa1039ea5a3fde4fd260497e0cf6ae387457e6fff989c5795bca6ce14199f0c9a15174 +DIST diffoscope-274.tar.bz2 3165288 BLAKE2B 287d4ef0b4ba298a37659cc5599a06d520f3b751bfcf486def6279bbb80e7c72557fcca2ece900d74a8b44c3f9118b7ba8ed2e0933c60671c8c73ae43ea26f30 SHA512 dc0b804fa67bb7e01a3eb1814dbfe25e5d0069c43990b98d6c94dcb40b454e10f5aa20512559fbbd450e6e30f635c6f5dc03afb63e0d25bc04d5e617c7505f0b diff --git a/dev-util/diffoscope/diffoscope-274.ebuild b/dev-util/diffoscope/diffoscope-274.ebuild new file mode 100644 index 000000000000..505c8902f329 --- /dev/null +++ b/dev-util/diffoscope/diffoscope-274.ebuild @@ -0,0 +1,144 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) +PYTHON_REQ_USE="ncurses" +inherit distutils-r1 toolchain-funcs + +DESCRIPTION="Will try to get to the bottom of what makes files or directories different" +HOMEPAGE="https://diffoscope.org/ https://pypi.org/project/diffoscope/" +# We could use pypi, but upstream provide distribution tarballs, so let's use those. +# TODO: verify-sig +SRC_URI="https://diffoscope.org/archive/${P}.tar.bz2" + +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}] + sys-apps/file[python,${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-alternatives/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? ( virtual/openssh ) + tar? ( app-arch/tar ) + tcpdump? ( net-analyzer/tcpdump ) + zip? ( app-arch/unzip ) + zlib? ( app-arch/gzip ) + zstd? ( app-arch/zstd ) +" + +# pull in optional tools for tests: +# img2txt: bug #797688 +# docx2txt: bug #797688 +BDEPEND=" + test? ( + app-arch/p7zip + app-text/docx2txt + app-text/html2text + media-libs/libcaca + virtual/imagemagick-tools[jpeg] + ) +" + +PATCHES=( + "${FILESDIR}"/${P}-new-zipdetails.patch +) + +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 + #tests/comparators/test_elf.py::test_libmix_differences +) + +distutils_enable_tests pytest + +src_test() { + case $(tc-get-ptr-size) in + 4) + EPYTEST_IGNORE+=( + # Needs fixing in Perl itself (bug #934443) + tests/comparators/test_epub.py + tests/comparators/test_zip.py + ) + ;; + *) + ;; + esac + + distutils-r1_src_test +} diff --git a/dev-util/diffoscope/files/diffoscope-274-new-zipdetails.patch b/dev-util/diffoscope/files/diffoscope-274-new-zipdetails.patch new file mode 100644 index 000000000000..3ddc99c107fc --- /dev/null +++ b/dev-util/diffoscope/files/diffoscope-274-new-zipdetails.patch @@ -0,0 +1,87 @@ +https://salsa.debian.org/reproducible-builds/diffoscope/-/commit/e6ef110086bcb1272c37b44074fcb083ed0c9b41 + +From e6ef110086bcb1272c37b44074fcb083ed0c9b41 Mon Sep 17 00:00:00 2001 +From: Chris Lamb <lamby@debian.org> +Date: Tue, 13 Aug 2024 11:13:17 +0100 +Subject: [PATCH] Update test_zip text fixtures and definitions to support new + IO::Compress changes. (Closes: Debian:#1078050) + +--- + tests/comparators/test_zip.py | 8 +++-- + tests/data/zip2_zipdetails_expected_diff | 38 ++++++++++++------------ + 2 files changed, 25 insertions(+), 21 deletions(-) + +diff --git a/tests/comparators/test_zip.py b/tests/comparators/test_zip.py +index 570931ee..303b6f80 100644 +--- a/tests/comparators/test_zip.py ++++ b/tests/comparators/test_zip.py +@@ -93,6 +93,7 @@ def test_compressed_files(differences): + + + @skip_unless_tools_exist("zipinfo", "bsdtar", "zipdetails") ++@skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212") + def test_extra_fields(differences2): + assert_diff(differences2[0], "zip_bsdtar_expected_diff") + assert_diff(differences2[1], "zip2_zipdetails_expected_diff") +@@ -148,11 +149,14 @@ def jmod_differences(jmod1, jmod2): + return jmod1.compare(jmod2).details + + +-@skip_unless_tools_exist("zipinfo", "zipdetails") ++@skip_unless_tools_exist("zipinfo", "zipdetails", "zipnote") + @skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212") + def test_jmod_metadata(jmod_differences, jmod1, jmod2): ++ assert jmod_differences[0].source1 == "zipinfo {}" ++ assert jmod_differences[1].source1.startswith("zipnote") ++ assert jmod_differences[2].source1.startswith("zipdetails") + assert_diff(jmod_differences[0], "jmod_zipinfo_expected_diff") +- assert_diff(jmod_differences[1], "jmod_zipdetails_expected_diff") ++ assert_diff(jmod_differences[2], "jmod_zipdetails_expected_diff") + + + def test_encrypted(encrypted_zip1, encrypted_zip2): +diff --git a/tests/data/zip2_zipdetails_expected_diff b/tests/data/zip2_zipdetails_expected_diff +index d764a818..291dca88 100644 +--- a/tests/data/zip2_zipdetails_expected_diff ++++ b/tests/data/zip2_zipdetails_expected_diff +@@ -1,19 +1,19 @@ +-@@ -36,16 +36,16 @@ +- 0054 Uncompressed Length 000001BE +- 0058 Filename Length 0008 +- 005A Extra Length 001C +- 005C Filename 'XXX/XXXX' +- 0064 Extra ID #0001 5455 'UT: Extended Timestamp' +- 0066 Length 0009 +- 0068 Flags '03 mod access' +--0069 Mod Time 558AB455 'Wed Jun 24 13:44:53 2015' +--006D Access Time 558AB45F 'Wed Jun 24 13:45:03 2015' +-+0069 Mod Time 41414141 'Fri Sep 10 05:53:05 2004' +-+006D Access Time 41414141 'Fri Sep 10 05:53:05 2004' +- 0071 Extra ID #0002 7875 'ux: Unix Extra Type 3' +- 0073 Length 000B +- 0075 Version 01 +- 0076 UID Size 04 +- 0077 UID 000003E8 +- 007B GID Size 04 +- 007C GID 000003E8 ++@@ -44,16 +44,16 @@ ++ # ++ # WARNING: Offset 0x5C: Filename 'XXXXXXXX' ++ # Zero length filename ++ # ++ 0064 Extra ID #1 5455 (21589) 'Extended Timestamp [UT]' ++ 0066 Length 0009 (9) ++ 0068 Flags 03 (3) 'Modification Access' ++-0069 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015' ++-006D Access Time 558AB45F (1435153503) 'Wed Jun 24 13:45:03 2015' +++0069 Modification Time 41414141 (1094795585) 'Fri Sep 10 05:53:05 2004' +++006D Access Time 41414141 (1094795585) 'Fri Sep 10 05:53:05 2004' ++ 0071 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]' ++ 0073 Length 000B (11) ++ 0075 Version 01 (1) ++ 0076 UID Size 04 (4) ++ 0077 UID 000003E8 (1000) ++ 007B GID Size 04 (4) ++ 007C GID 000003E8 (1000) +-- +GitLab |
