summaryrefslogtreecommitdiff
path: root/dev-util/diffoscope/diffoscope-332.ebuild
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-09-30 03:05:07 -0500
committerCrucible <crucible@localhost>2026-09-30 03:05:07 -0500
commit9c4e6e8fed8999df35813182c3b9577d541394e0 (patch)
tree2466b7bb1ca606d88c3191c59d1b1c0a3b87e398 /dev-util/diffoscope/diffoscope-332.ebuild
parentc5a9b07f13fb47e9869f0433ea92068acfe47038 (diff)
downloadsrcux-9c4e6e8fed8999df35813182c3b9577d541394e0.tar.gz
srcux-9c4e6e8fed8999df35813182c3b9577d541394e0.tar.xz
srcux-9c4e6e8fed8999df35813182c3b9577d541394e0.zip
Publish srcux candidate 0000000524-20260930-030309
Diffstat (limited to 'dev-util/diffoscope/diffoscope-332.ebuild')
-rw-r--r--dev-util/diffoscope/diffoscope-332.ebuild151
1 files changed, 151 insertions, 0 deletions
diff --git a/dev-util/diffoscope/diffoscope-332.ebuild b/dev-util/diffoscope/diffoscope-332.ebuild
new file mode 100644
index 000000000000..7300956155bc
--- /dev/null
+++ b/dev-util/diffoscope/diffoscope-332.ebuild
@@ -0,0 +1,151 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="ncurses"
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chrislamb.asc
+inherit distutils-r1 optfeature toolchain-funcs verify-sig
+
+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="
+ https://diffoscope.org/archive/${P}.tar.bz2
+ verify-sig? ( https://diffoscope.org/archive/${P}.tar.bz2.asc )
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="acl binutils bzip2 libcaca colord cpio +diff docx dtc e2fsprogs file
+find gettext gif gpg haskell hdf5 hex imagemagick iso java libguestfs llvm
+lzma mono opendocument pascal pdf postscript R rpm sqlite squashfs
+ssh tar test tcpdump zip zlib zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ || (
+ 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/python-tlsh[${PYTHON_USEDEP}]
+ hdf5? ( dev-python/h5py[${PYTHON_USEDEP}] )
+ pdf? ( dev-python/pypdf[${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 )
+ libguestfs? ( app-emulation/libguestfs[python,${PYTHON_SINGLE_USEDEP}] )
+ llvm? ( llvm-core/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
+ )
+ postscript? ( app-text/ghostscript-gpl )
+ R? ( dev-lang/R )
+ rpm? ( app-arch/rpm[python,${PYTHON_SINGLE_USEDEP}] )
+ 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/7zip-24.09[symlink(+)]
+ app-arch/p7zip
+ )
+ app-text/docx2txt
+ app-text/html2text
+ media-libs/libcaca
+ virtual/imagemagick-tools[jpeg]
+ )
+ verify-sig? ( sec-keys/openpgp-keys-chrislamb )
+"
+
+EPYTEST_DESELECT=(
+ # Presumably needs Gentoo specific handling for "nonexistent" like the rest already have
+ tests/comparators/test_binary.py::test_with_compare_details_and_tool_not_found
+
+ # 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
+
+ # Slightly different diff output presentation vise
+ tests/comparators/test_fsimage.py::test_differences
+ tests/comparators/test_fsimage.py::test_differences_fat
+)
+
+EPYTEST_PLUGINS=()
+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
+}
+
+pkg_postinst() {
+ optfeature "show an approximate progress bar" dev-python/progressbar2
+}