summaryrefslogtreecommitdiff
path: root/dev-util/diffoscope
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-07-14 16:37:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-07-14 16:37:36 +0100
commit3eb3ea9bc18adf028abfe51d11436c3777202f8c (patch)
tree9f016ff96b8bb8b5d4ce46733171c6b4dbdd94ee /dev-util/diffoscope
parent5af5a2b4acc97daacc0bf0e1d4e85ec780734689 (diff)
gentoo auto-resync : 14:07:2023 - 16:37:36
Diffstat (limited to 'dev-util/diffoscope')
-rw-r--r--dev-util/diffoscope/Manifest2
-rw-r--r--dev-util/diffoscope/diffoscope-243-r3.ebuild127
-rw-r--r--dev-util/diffoscope/files/diffoscope-243-libarchive-c-5.patch49
3 files changed, 178 insertions, 0 deletions
diff --git a/dev-util/diffoscope/Manifest b/dev-util/diffoscope/Manifest
index 34459be5e84a..1dd3907946f8 100644
--- a/dev-util/diffoscope/Manifest
+++ b/dev-util/diffoscope/Manifest
@@ -1,7 +1,9 @@
+AUX diffoscope-243-libarchive-c-5.patch 1959 BLAKE2B 4dfe9dcad2d6f0aa04e642718471cc105cc0c55c360073561c3113f00f84e9ddd04745d041dc94e43531ef859a29fef81ea4670be2e97bc08bfbf89e423a876e SHA512 b719e0f53d037af4fca92d289048996ac73a017136b2961bfd9709b1c581db29ae58a5e7c0c1c656db5289fa8d3e08483305fabf85d55e7a7cd6cf4095a9cad3
DIST diffoscope-242.tar.gz 3167814 BLAKE2B d6f63f94e312cd9bb48858dd82e50bcae065cd25f332a08940b22d36df75993cd43614ae44cbae3360c38ae30b7910a062ece294680b58b2a654ca3ead078795 SHA512 3d724a2349d2040d7072b81b8a77bae75aabe3f39c661c1d68a9f6e76b75048225262b8a9932c39e56429ec4937a398ca45e9f9abd23505aa511a7a8a81f3ab6
DIST diffoscope-243.tar.bz2 3088032 BLAKE2B 32fa82fc2f6613c18c39971864d53b02bca4c66631afd0f794bb73eeb8672b1f6c0e88b3145e9acc6c759960cf6fc9efd88bcd56f97fc16df8bb43d0e8a19f52 SHA512 b543f096fbaac136a3a09feef301e5e01b9371a13c4f54f39b0c5c0dab85d6aff94dfcd3985684ea25882071049957a4d42f0c3aba51cb307feb907e769bef7b
DIST diffoscope-243.tar.gz 3167842 BLAKE2B 01c8e1a53e78d6243d90b0fcb4ba73158e7a5d379f1602b607bf9c24445d9494124ccb676897c5a63bc7a830f8ea0788d82fc0f735384eddba177142359c8535 SHA512 7eaa688a016cacf5f5ccb9759fdc3fdbf8ee3218201ff9b4b950c4e2121f5acd67022b405852a2b4d02838aafd2a316d7579c407abaa0e7399bfd9513981f11f
EBUILD diffoscope-242-r2.ebuild 3666 BLAKE2B 5f7f5b7db5f02fb7ad637e0a4152881a30b2817d79b085872a08a376bb0fb22e7006e4c97fc0963e59b7323e3f44af5fd76ea388722d961548785149c93080c0 SHA512 c00320a868e58de03cc73520a89da428ce01ce3efe24ce1c5799bcc10a966050104f5e2342fcdd7b66fbfd7fb0e376da9386a12974dde71dcc06f7b8e342ba71
EBUILD diffoscope-243-r1.ebuild 3668 BLAKE2B b364110669595752bec269acbfb9c066313d45b39d1a350e5d241e1964791a67e8d5f57e937685598f91455febd31adea31e61214ac6529e3ab1629c9c8bf406 SHA512 6584d541749e7cede00857367272c896aa00907dde2ffc82a9def6c8ad5878d7f31b8f12238936229adc51eae58011bd363069216f2ff113e8293615411194d4
EBUILD diffoscope-243-r2.ebuild 3821 BLAKE2B 902ba572346ac9d84dbc157e0c0bb1ea124d2e441ef4ab2a7f7ebe7fd3d73a28aca60eed156ad0232a5b94f3e659542664142af8560a4d1931002c937a2c77ba SHA512 81ce81b5ee2bd60e64805cd82598ad44c71511e065031512d0d3362b5c77802ee950671f22b7699b28a1ae30fab0217b9e8a465f9b15f014b97b656605e10397
+EBUILD diffoscope-243-r3.ebuild 3784 BLAKE2B f300010638c551cec4d99b2ce76dccdd3b9298ae8086280d81f7aa069b75a4a58ed7de634d3583d53fdaca5119f6a56771d18c392422a2c8509b338e1c22c2da SHA512 8ba39b31eac59819b016bddb89fa8a3f560389848c3d0c6a68a9ffc3c2d0533ae725eea29aa580da491f25145bf9bee7e899aed7905450954fa1350d5de5d61f
MISC metadata.xml 2078 BLAKE2B 3bb126836e45e8d4e5b6170a12219ec9cceb1a12dca4658211b1971cb16fa5593622642ade363904cf24df16de0749b957d0fc03838d2a9a004484d0b551c886 SHA512 382cefe0478282000b74e404cdd9d636a0323fceb55b97fd8545190628c319e0c5e213c7d082198e4b8b1fc693a52ce85c52b3ad831778e6fadbe6ba401782f5
diff --git a/dev-util/diffoscope/diffoscope-243-r3.ebuild b/dev-util/diffoscope/diffoscope-243-r3.ebuild
new file mode 100644
index 000000000000..17a009db5db2
--- /dev/null
+++ b/dev-util/diffoscope/diffoscope-243-r3.ebuild
@@ -0,0 +1,127 @@
+# 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_{10..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/"
+# 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}]
+ 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? ( virtual/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]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libarchive-c-5.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-243-libarchive-c-5.patch b/dev-util/diffoscope/files/diffoscope-243-libarchive-c-5.patch
new file mode 100644
index 000000000000..36b5dbbe63e4
--- /dev/null
+++ b/dev-util/diffoscope/files/diffoscope-243-libarchive-c-5.patch
@@ -0,0 +1,49 @@
+https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/344
+https://salsa.debian.org/reproducible-builds/diffoscope/-/commit/3c4e378df315a4182da60e50769f1760cc561c2d
+
+From 3c4e378df315a4182da60e50769f1760cc561c2d Mon Sep 17 00:00:00 2001
+From: Chris Lamb <lamby@debian.org>
+Date: Thu, 13 Jul 2023 13:39:42 +0100
+Subject: [PATCH] Attempt compatibility with libarchive-5. (Re: 344)
+
+--- a/diffoscope/comparators/utils/libarchive.py
++++ b/diffoscope/comparators/utils/libarchive.py
+@@ -122,6 +122,13 @@ libarchive.ArchiveEntry.pathname = property(
+
+
+ def list_libarchive(path, ignore_errors=False):
++ def force_str(val):
++ # libarchive ~5 began to return uname and gname as UTF-8 whilst
++ # previous versions returned bytes that required decoding.
++ if not isinstance(val, str):
++ val = val.decode("utf-8", errors="surrogateescape")
++ return val
++
+ try:
+ with libarchive.file_reader(path) as archive:
+ for entry in archive:
+@@ -146,18 +153,14 @@ def list_libarchive(path, ignore_errors=False):
+ ) + ".{:06d}".format(entry.mtime_nsec // 1000)
+ if entry.uname:
+ user = "{user:<8} {uid:>7}".format(
+- user=entry.uname.decode(
+- "utf-8", errors="surrogateescape"
+- ),
++ user=force_str(entry.uname),
+ uid="({})".format(entry.uid),
+ )
+ else:
+ user = entry.uid
+ if entry.gname:
+ group = "{group:<8} {gid:>7}".format(
+- group=entry.gname.decode(
+- "utf-8", errors="surrogateescape"
+- ),
++ group=force_str(entry.gname),
+ gid="({})".format(entry.gid),
+ )
+ else:
+--
+GitLab
+
+