summaryrefslogtreecommitdiff
path: root/dev-util/diffoscope
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/diffoscope')
-rw-r--r--dev-util/diffoscope/Manifest3
-rw-r--r--dev-util/diffoscope/diffoscope-268.ebuild128
-rw-r--r--dev-util/diffoscope/files/diffoscope-268-7zip.patch43
3 files changed, 174 insertions, 0 deletions
diff --git a/dev-util/diffoscope/Manifest b/dev-util/diffoscope/Manifest
index 65b80cfc30a0..e5d497bfa39a 100644
--- a/dev-util/diffoscope/Manifest
+++ b/dev-util/diffoscope/Manifest
@@ -1,5 +1,8 @@
+AUX diffoscope-268-7zip.patch 1571 BLAKE2B 5eb0f7459d165ae0b9e6288c4aaf561ca7280d52cb15c038af7d04027a7f1f6e66d8bdb30536d3139b8edc18b05e461c7b099c0214af8ce4eb851204c42c10a2 SHA512 b0e2dd9400cdff70adee61d17c11ca6e001dc553ee16fad9d9c3f77558f79013314509bc3d2264c986816198fca665742b4e87ec565af5002b62138291361e37
DIST diffoscope-263.tar.bz2 3139927 BLAKE2B 6d13b9a657c4a7618d24487096a0fb94034f4ea2b84384b388dc8441ebe68f8de12dd7a34ec0075bd03ca3d437e65a23fc086184ba7c3764682390f6290a17e4 SHA512 41c5495bd4d4f4a0c340bac444f3cbc4a9b6180227efc02d593590a50b47acd06dc755875419da3a52d8aa831733d76450388c29e856d428b159d3c2c793de1b
DIST diffoscope-266.tar.bz2 3148610 BLAKE2B 28090b8a1e2315f9df43d254d3dbd4ed8f6d4ba4d259c764f53b84137ac0b3dc97b51df56ba595eee950c54974e9b6109c423392d198e277d520f11559ecd78e SHA512 2eb7cbd333b6559ba0f66647184f1747cac52cca6304a27eefe914329797469d5fb9519abe92386d3785f4f2c779f8f5dd95ecc8f54f8b08fd4fc94746bf273d
+DIST diffoscope-268.tar.bz2 3151657 BLAKE2B 2133611135347a9babfb55972ef5d456cc274634facc07ea8dc2c214147507d223a6fd8cf24541c04fc19c3510c7548bdaa5549f5587c9d99de7b61e64bd2f7d SHA512 9a0f3c81e9beb171fdef8282ac3938a5534f894437f898ab1437cdeb30a12c7fb8a1a494479f46c41d65e78fe014b8c1e510a72d0673f3d0d769d71c4af12a5d
EBUILD diffoscope-263.ebuild 3681 BLAKE2B c4f1f1661fd97e6b04eff67c1aae1db9893df9b5e91aa54aed8fedd4fa1ef7fa071f799c76377db3687f0c7b073be41eabac629118e38e063d8f29d8493e996c SHA512 0f24c5d7d22c8bbeae42d3cab7f7e25c347ac1f3d80320a92e22b33c3447b439a3794e443f939fa3861c82a2c0170b1ac2a6f98f20312a800147d03ce6a22dba
EBUILD diffoscope-266.ebuild 3682 BLAKE2B 9416955c1c9414ea2bcfb9ca5138638a3963dc71ec5443d6d993e3d132a566f62e613dd6dea2e38f26b3af6a176d620da2fabbe2159a8f979d2f8d91ae49332f SHA512 6a1cf8404cb306e7ddba0d19e591f62b622e616118f60285612a75991df02270d772eb647d1649f720da5c709312a4c18ad1eb86d9941c7f8512339fba7904d4
+EBUILD diffoscope-268.ebuild 3726 BLAKE2B 0931e6b2ab646362d928d4b04e0beb629bec1970d77bef1c7434a1687b02721e1657292cf03cec66650c02540ea0f6c14fe10efca5524d9ec011e146bb87aa5c SHA512 519020ec6860b6ea6cdecf98f06e75ab8b35a587963944f2d9da8b560a54a9724fceb4bb2dfdfd96d3e09f5a90397acf4ff7dbd97e6ae9dc67d4613453e389a1
MISC metadata.xml 2086 BLAKE2B b05c2c3c425a990f64aea25e9dda3e1afb410068d90e034d5d9df7c76363613d309f8bc57c70284f2e607a3e2096a0132724dddba8df487bda3046d8ed7aefa1 SHA512 8c86ddad7fda722956931d73a6f5dfa8e43c25623edb3b20bf3e68765b04ed4d20ba31b68315812978a9546b3c678597fd41132a4a6ad4658ba9fa5f79cfc90d
diff --git a/dev-util/diffoscope/diffoscope-268.ebuild b/dev-util/diffoscope/diffoscope-268.ebuild
new file mode 100644
index 000000000000..52ae1402efb9
--- /dev/null
+++ b/dev-util/diffoscope/diffoscope-268.ebuild
@@ -0,0 +1,128 @@
+# 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..12} )
+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/"
+# 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}-7zip.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
diff --git a/dev-util/diffoscope/files/diffoscope-268-7zip.patch b/dev-util/diffoscope/files/diffoscope-268-7zip.patch
new file mode 100644
index 000000000000..4f7464c07a33
--- /dev/null
+++ b/dev-util/diffoscope/files/diffoscope-268-7zip.patch
@@ -0,0 +1,43 @@
+https://salsa.debian.org/reproducible-builds/diffoscope/-/commit/2a361d7dff135d3e832161f587a55a62fcbec9f2
+
+From 2a361d7dff135d3e832161f587a55a62fcbec9f2 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Sat, 25 May 2024 22:41:53 +0100
+Subject: [PATCH] Amend 7zip version test for older 7z versions that include
+ "[64]" string. (Closes: #376)
+
+Without the change `7z` test fails with assertion errors:
+
+ FAILED tests/comparators/test_sevenz.py::test_metadata_diff - AssertionError
+
+This happens because version guard did not work for my ancient `7z`:
+
+ $ 7z | head -n2
+
+ 7-Zip [64] 17.05 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
+
+THe change attempts to skip `[64]` identifier. Tested on 7z 17.05 only.
+---
+ tests/comparators/test_sevenz.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/tests/comparators/test_sevenz.py b/tests/comparators/test_sevenz.py
+index 1582a0f4..91974701 100644
+--- a/tests/comparators/test_sevenz.py
++++ b/tests/comparators/test_sevenz.py
+@@ -38,7 +38,12 @@ def sevenz_version():
+ out = subprocess.check_output(["7z"])
+ except subprocess.CalledProcessError as e:
+ out = e.output
+- return out.decode("UTF-8").split()[1].strip()
++ words = out.decode("UTF-8").split()
++ # 7zip 17.04 returns version after "[64]" identifier:
++ # "7-Zip [64] 17.05 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28"
++ if words[1].startswith("["):
++ return words[2].strip()
++ return words[1].strip()
+
+
+ def test_identification(sevenza):
+--
+GitLab