commit: 2491430cbaf62c3c316a2925a19f7d4c4beb436f Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Mon May 12 13:05:59 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue May 13 01:47:00 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2491430c
app-arch/patool: add 4.0.1 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42062 Signed-off-by: Sam James <sam <AT> gentoo.org> app-arch/patool/Manifest | 1 + app-arch/patool/patool-4.0.1.ebuild | 150 ++++++++++++++++++++++++++++++++++++ 2 files changed, 151 insertions(+) diff --git a/app-arch/patool/Manifest b/app-arch/patool/Manifest index d329a6317cff..72d2cc196749 100644 --- a/app-arch/patool/Manifest +++ b/app-arch/patool/Manifest @@ -1,2 +1,3 @@ DIST patool-3.1.3.tar.gz 2007436 BLAKE2B cd90ec04671181f192a416577c30c88ea68293e5c5f86b0d5b82953a4870dff5d0b4b05b1ea8fcd4ffcf13ecb7718d4ee062ca3e57822258a4a0f0505bc92509 SHA512 59565a806c683a9cd0d134f491d92b7a76adee4bf3bfeaf13cc82d3b99daa8aaef8c8699e0dfc491a4e2a9cd87569d0f69408335ae3adaf37d947a8a80d84f50 DIST patool-4.0.0.tar.gz 2007828 BLAKE2B 230a6b7876db3d995f1b76bb9b3e28d3dc6b50eb933d8290226971800e101ceb462a5dc0f2e5b2782a0c450df09abbfaffad667b94fcb88303845e72cec5ef05 SHA512 4f2dbfe4bdedea18eb6959c19c2e08109380b43f604684a866ebad888c9ced23495f19a97964f18ea4ae011dcdfd0ec7e1a652dd6fd4e8e21c7e482a00fafd20 +DIST patool-4.0.1.tar.gz 2006713 BLAKE2B 9a92e9e94a34709c376a3c8e7dc2258f5ce21ab3ad773aff80803378a105e1536975ed4a3a43cebedd030696dc4ad888468229dc5caf0415582c215ea0fc1d58 SHA512 a956161d7db7cf3e2c4e56af1fa42a9ba0855c83f86aa9eb7a7b6dfa2fe711ec372294a204a3a37622f3678dac8763829706664fd93e1ba878358c8e156825ad diff --git a/app-arch/patool/patool-4.0.1.ebuild b/app-arch/patool/patool-4.0.1.ebuild new file mode 100644 index 000000000000..894e6d8217e6 --- /dev/null +++ b/app-arch/patool/patool-4.0.1.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +EPYTEST_XDIST=1 +PYTHON_COMPAT=( python3_{11..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Portable archive file manager" +HOMEPAGE="https://wummel.github.io/patool/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND=" + test? ( + app-arch/7zip + app-arch/arj + app-arch/bzip2 + app-arch/bzip3 + app-arch/cabextract + app-alternatives/cpio + app-arch/dpkg + app-arch/gzip + app-arch/lbzip2 + app-arch/lcab + app-arch/lha + app-arch/libarchive + app-arch/lz4 + app-arch/lzip + app-arch/lzop + app-arch/ncompress + app-arch/pbzip2 + app-arch/pdlzip + app-arch/pigz + app-arch/plzip + app-arch/rpm + app-arch/rzip + app-arch/sharutils + app-arch/tar + app-arch/unace + app-arch/unadf + app-arch/unzip + app-arch/xdms + app-arch/xz-utils + app-arch/zip + app-arch/zopfli + app-arch/zpaq + app-arch/zstd + app-cdr/cdrtools + dev-libs/chmlib + media-libs/flac + media-sound/shorten + sys-apps/diffutils + sys-apps/file + sys-apps/grep + || ( + >=app-arch/7zip-24.09[symlink(+)] + app-arch/p7zip + ) + !elibc_musl? ( app-arch/rar ) + !x86? ( + app-arch/clzip + app-arch/lrzip + app-arch/unar + ) + ) +" +# Test dependencies which are packaged but can't be tested for various reasons. +# app-arch/arc +# app-arch/zoo +# media-sound/mac + +# app-arch/rar is masked on musl +# app-arch/clzip is unkeyworded on x86 +# app-arch/lrzip bug #916317 on x86 +# app-arch/unar is unkeyworded on x86 + +# Unpackaged testable dependencies +# archmage +# genisoimage +# lhasa +# nomarch +# pdzip2 +# py_{bz2,echo,gzip,tarfile,zipfile} +# rpm2cpio +# rzip +# star +# unalz +# uncompress.real + +distutils_enable_tests pytest + +python_prepare_all() { + distutils-r1_python_prepare_all + + # Unpackaged and just wraps setuptools with SOURCE_DATE_EPOCH + sed -e 's/setuptools-reproducible/setuptools/' \ + -e 's/setuptools_reproducible/setuptools.build_meta/' \ + -i pyproject.toml || die +} + +python_install_all() { + einstalldocs + doman doc/patool.1 + distutils-r1_python_install_all +} + +python_test() { + local EPYTEST_IGNORE=( + # zoo emits a non-zero exit status on a possibly false consistency check + # Zoo: WARNING: Archive header failed consistency check. + "tests/archives/test_zoo.py" + # Doesn't accept long arguments, such as those that files in ${S} would have. + # Too long argument: /var/tmp/portage/app-arch/patool-1.12_p20230424/work/patool-ab64562c8cdac34dfd69fcb6e30c8c0014282d11/tests/data/p.arc.foo + "tests/archives/test_arc.py" + # Error: 1002 (invalid input file) + "tests/archives/test_mac.py" + ) + local EPYTEST_DESELECT=( + # Something changed in the upstream sdist creation between 4.0.0 and 4.0.1 + # Test fails because the timestamp of the zip arhive is before 1980. + # This is due to the timestamps getting reset to the unix epoch in + # the unpacked tar archive. + # ValueError: ZIP does not support timestamps before 1980 + "tests/archives/test_pyzipfile.py::TestPyzipfile::test_py_zipfile" + ) + + if use elibc_musl; then + EPYTEST_IGNORE+=( + "tests/archives/test_rar.py" + ) + fi + + if use x86; then + EPYTEST_IGNORE+=( + "tests/archives/test_clzip.py" + ) + EPYTEST_DESELECT+=( + # bug #916317 + "tests/archives/test_lrzip.py::TestLrzip::test_lrzip" + ) + fi + + epytest +}
