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
+}

Reply via email to