summaryrefslogtreecommitdiff
path: root/dev-util/diffoscope
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/diffoscope')
-rw-r--r--dev-util/diffoscope/Manifest8
-rw-r--r--dev-util/diffoscope/diffoscope-313.ebuild146
-rw-r--r--dev-util/diffoscope/diffoscope-316.ebuild146
-rw-r--r--dev-util/diffoscope/diffoscope-317.ebuild146
-rw-r--r--dev-util/diffoscope/diffoscope-318.ebuild146
-rw-r--r--dev-util/diffoscope/metadata.xml65
6 files changed, 657 insertions, 0 deletions
diff --git a/dev-util/diffoscope/Manifest b/dev-util/diffoscope/Manifest
new file mode 100644
index 000000000000..8b8b0a6c1f00
--- /dev/null
+++ b/dev-util/diffoscope/Manifest
@@ -0,0 +1,8 @@
+DIST diffoscope-313.tar.bz2 3152852 BLAKE2B 736a672a59609271923a95a43c98bbcc12c7db56b5e2c4a056238b04758bb4d1111621b4674952b2fdbbc7b1fcc07e705a4efea6a126cd7d7a8f08e8be7fdc01 SHA512 0551f0a7083817c3db47fec286405b5456b3141ccf17694a1bf26c9e85652ce854181e00c90bb0e5ff5e6e5726b70b75ccf5b20a14739b7a0f2ca0733356e1dc
+DIST diffoscope-313.tar.bz2.asc 833 BLAKE2B 77176766114622e89a75f0e3ceedb938557cf8cf5341f505810a191d10140727530ecdb4b2bea829644dd5cf973b1c852b3d10c68e10a5e29386a29dec11bf2d SHA512 257448a678064f58052795e0f8acef01827a2e22db81f33985348df85db8cd0cba94030b14591abe7d3da6829f84de811290fa3fe4b54cb1e012f33a59c3b1f2
+DIST diffoscope-316.tar.bz2 3151140 BLAKE2B 080b2ff8098bd1ff43b84aaef855eb437940dbb481f52dd0028e34136f2f1f49b05f03ff4f556dc10649c39ae65b7d00c10eaaab43405742e15df5aca167979c SHA512 a69a188f6e8af3b61c4d2a1554756ae17fb329ceafca53c5f1ccb7e5fdec21cd9f5b58aa3299aee57fa22bb90c38650139de7e11a13355963d900494bb5e547e
+DIST diffoscope-316.tar.bz2.asc 833 BLAKE2B f34f79ef8d697c166aefc53c1e5967611adde143e8682033e25957f59aef0ca8a07c39cea34414ae29d4e8fcd3d80bf53ef6c461cdab1a1b8ed219fa60c8d937 SHA512 e55d413808845dedd044169f729b9b9516875eb5f9d1dd687a2d46d2bdd816cc117920c31c3d07f9c4bd5d3e9e4efd3818c8cf63831077dd01f54a5f0b2b8d8f
+DIST diffoscope-317.tar.bz2 3151136 BLAKE2B e8a11d1c1eca683fce500e514e892c79d14919845d7519c9197ff2a1369310bb5561366cb443337869b229808cbeba652b9969927606a64ec4c520fd547d35b5 SHA512 99276f06f0660fc6dfbaa25c1662447346ab12f0204399468ea8afc7317f2729e772d791310a358325e1360ae0404826c1fccca8d4ab047a66dcc11d520f850e
+DIST diffoscope-317.tar.bz2.asc 833 BLAKE2B d79fe523f289a1afd9943957f2bfbc0db5585f8f6d3ed98a22ccc16117e81cdce7025d795367e51c1f983bd598a9f3728f32556b072123db36367ec4d698a87a SHA512 600bb4b52a91834b7fc4e09a7f3fda3df82963edace74dcf4470087e2117283a11a8c3a866803c715a44dfdc14096644fd0cd75e23d3583ce5d3be2091011792
+DIST diffoscope-318.tar.bz2 3150627 BLAKE2B 5fbd1f50b8709bffe038cda616c983861cc2e673e3f2a7085528eba9524288363b2ee636e6ad4d3bade14f252e126ba2148e666e5ed8acc1b79c98e4b1951209 SHA512 610bdad39da8ce6347e0035e7b75a9e5a667cfd6b59002b4ee41b8da0b8f319496ee06ca751478c9f7846c72ceda92c4c239c5756884f134c03fdff3ce1a4377
+DIST diffoscope-318.tar.bz2.asc 833 BLAKE2B 2d9c34ed8085539d1b5c15196593252c8c140b40cdeb29a13b81bdc9c5499b57cfa507a509c2fd2adebaf643c13940adc64254fd69d15fb61c3c95059b84c605 SHA512 ec16636309fbce78680bde3092072346efb828078bb6e150dc7974ae9f2b5eb9b97a20eddb34580808f735275e98a5885769477f5a0b050d211eaa15a555cecc
diff --git a/dev-util/diffoscope/diffoscope-313.ebuild b/dev-util/diffoscope/diffoscope-313.ebuild
new file mode 100644
index 000000000000..8cdbadf751e7
--- /dev/null
+++ b/dev-util/diffoscope/diffoscope-313.ebuild
@@ -0,0 +1,146 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 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 ~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/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? ( 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
+ 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/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=(
+ # 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/diffoscope-316.ebuild b/dev-util/diffoscope/diffoscope-316.ebuild
new file mode 100644
index 000000000000..8cdbadf751e7
--- /dev/null
+++ b/dev-util/diffoscope/diffoscope-316.ebuild
@@ -0,0 +1,146 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 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 ~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/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? ( 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
+ 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/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=(
+ # 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/diffoscope-317.ebuild b/dev-util/diffoscope/diffoscope-317.ebuild
new file mode 100644
index 000000000000..8cdbadf751e7
--- /dev/null
+++ b/dev-util/diffoscope/diffoscope-317.ebuild
@@ -0,0 +1,146 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 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 ~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/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? ( 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
+ 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/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=(
+ # 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/diffoscope-318.ebuild b/dev-util/diffoscope/diffoscope-318.ebuild
new file mode 100644
index 000000000000..2dd55bfb4179
--- /dev/null
+++ b/dev-util/diffoscope/diffoscope-318.ebuild
@@ -0,0 +1,146 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 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 ~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/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? ( 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
+ 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/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=(
+ # 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/metadata.xml b/dev-util/diffoscope/metadata.xml
new file mode 100644
index 000000000000..3d5618fa8e9c
--- /dev/null
+++ b/dev-util/diffoscope/metadata.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <longdescription>
+ diffoscope will try to get to the bottom of what makes files or directories different.
+ It will recursively unpack archives of many kinds and transform various binary formats
+ into more human readable form to compare them.
+ It can compare two tarballs, ISO images, or PDF just as easily.
+ </longdescription>
+ <use>
+ <flag name="binutils">Use <pkg>sys-devel/binutils</pkg>
+ </flag>
+ <flag name="cpio">Use <pkg>app-alternatives/cpio</pkg>
+ </flag>
+ <flag name="diff">Use <pkg>sys-apps/diffutils</pkg>
+ </flag>
+ <flag name="docx">Use <pkg>app-text/docx2txt</pkg>
+ </flag>
+ <flag name="dtc">Use <pkg>sys-apps/dtc</pkg>
+ </flag>
+ <flag name="e2fsprogs">Use <pkg>sys-fs/e2fsprogs</pkg>
+ </flag>
+ <flag name="file">Use <pkg>sys-apps/file</pkg>
+ </flag>
+ <flag name="find">Use <pkg>sys-apps/findutils</pkg>
+ </flag>
+ <flag name="gettext">Use <pkg>sys-devel/gettext</pkg>
+ </flag>
+ <flag name="gpg">Use <pkg>app-crypt/gnupg</pkg>
+ </flag>
+ <flag name="haskell">Use <pkg>dev-lang/ghc</pkg>
+ </flag>
+ <flag name="hdf5">Use <pkg>sci-libs/hdf5</pkg>
+ </flag>
+ <flag name="hex">Use <pkg>app-editors/vim-core</pkg>
+ </flag>
+ <flag name="iso">Use <pkg>app-cdr/cdrtools</pkg>
+ </flag>
+ <flag name="llvm">Use <pkg>llvm-core/llvm</pkg>
+ </flag>
+ <flag name="opendocument">Use <pkg>app-text/odt2txt</pkg>
+ </flag>
+ <flag name="pascal">Use <pkg>dev-lang/fpc</pkg>
+ </flag>
+ <flag name="R">Use <pkg>dev-lang/R</pkg>
+ </flag>
+ <flag name="rpm">Use <pkg>app-arch/rpm</pkg>
+ </flag>
+ <flag name="squashfs">Use <pkg>sys-fs/squashfs-tools</pkg>
+ </flag>
+ <flag name="ssh">Use <pkg>net-misc/openssh</pkg>
+ </flag>
+ <flag name="tar">Use <pkg>app-arch/tar</pkg>
+ </flag>
+ <flag name="tcpdump">Use <pkg>net-analyzer/tcpdump</pkg>
+ </flag>
+ <flag name="zip">Use <pkg>app-arch/unzip</pkg>
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>