commit:     196162918bac8a6025ca7a68c0364519119b12da
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 00:15:54 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 00:26:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19616291

dev-util/diffoscope: add 274

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/diffoscope/Manifest                       |   1 +
 dev-util/diffoscope/diffoscope-274.ebuild          | 144 +++++++++++++++++++++
 .../files/diffoscope-274-new-zipdetails.patch      |  87 +++++++++++++
 3 files changed, 232 insertions(+)

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..dfbbd82decc6
--- /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_{10..13} )
+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 <[email protected]>
+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

Reply via email to