diff options
| -rw-r--r-- | app-arch/patool/Manifest | 1 | ||||
| -rw-r--r-- | app-arch/patool/patool-4.0.2.ebuild | 151 |
2 files changed, 152 insertions, 0 deletions
diff --git a/app-arch/patool/Manifest b/app-arch/patool/Manifest index 8a6a94b99876..6b8ab1944341 100644 --- a/app-arch/patool/Manifest +++ b/app-arch/patool/Manifest @@ -1 +1,2 @@ DIST patool-4.0.1.tar.gz 2006713 BLAKE2B 9a92e9e94a34709c376a3c8e7dc2258f5ce21ab3ad773aff80803378a105e1536975ed4a3a43cebedd030696dc4ad888468229dc5caf0415582c215ea0fc1d58 SHA512 a956161d7db7cf3e2c4e56af1fa42a9ba0855c83f86aa9eb7a7b6dfa2fe711ec372294a204a3a37622f3678dac8763829706664fd93e1ba878358c8e156825ad +DIST patool-4.0.2.tar.gz 2008032 BLAKE2B 94df9a2e359e6dfec4de937fbba96e3aede117efd2ef91c9ee23fb21486f9c66c89a1da743c308d142adee127faffeaac27e9bbdea9fec6c59209ef2d99c7c26 SHA512 59b75808e43814c364fdb1bc64d379b5311b4a2bc9eb01243ed27affe387a4a7ffd6228b677c38bea63e51d3088f7e23d7edc292355dc49c0f7833d45e6d2365 diff --git a/app-arch/patool/patool-4.0.2.ebuild b/app-arch/patool/patool-4.0.2.ebuild new file mode 100644 index 000000000000..5d7e8a588e0b --- /dev/null +++ b/app-arch/patool/patool-4.0.2.ebuild @@ -0,0 +1,151 @@ +# 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 + +EPYTEST_PLUGINS=() +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 +} |
