summaryrefslogtreecommitdiff
path: root/app-arch/patool
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-25 05:24:31 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-25 05:24:31 +0100
commit4eda0fe5576868e6c7f97b51aa1c279ff8cd320c (patch)
treec0397a47938edbcb6e46e34fe4f0defa3e4db920 /app-arch/patool
parentb914cf9afa036a8ab23e8cb4cf7df1acd4a1bd44 (diff)
gentoo auto-resync : 25:09:2023 - 05:24:31
Diffstat (limited to 'app-arch/patool')
-rw-r--r--app-arch/patool/Manifest4
-rw-r--r--app-arch/patool/files/patool-1.12_p20230424-disable-file-sandbox.patch28
-rw-r--r--app-arch/patool/files/patool-1.12_p20230424-map-vnd.android.package-archive.patch30
-rw-r--r--app-arch/patool/patool-1.12_p20230424.ebuild126
4 files changed, 188 insertions, 0 deletions
diff --git a/app-arch/patool/Manifest b/app-arch/patool/Manifest
index 901fdc595b05..77d6fe208d07 100644
--- a/app-arch/patool/Manifest
+++ b/app-arch/patool/Manifest
@@ -1,3 +1,7 @@
+AUX patool-1.12_p20230424-disable-file-sandbox.patch 1032 BLAKE2B 6c5f0447b1c9d037f78dcfb17d4638a549a170b941aa4724ce7a2d80251e8225c970e7962802cb21a9b23af4338543838dfcceb18c44023a96b41b62c7f9b6cb SHA512 a9919888af4cc71cfd73f0dddfe9958fe33c9f3c3a586fe0fea64ebcb6f9a7267e7d7de07383219daacc5e5a5208c214a26306425cbc77ce8db83d842592224e
+AUX patool-1.12_p20230424-map-vnd.android.package-archive.patch 1451 BLAKE2B 0d3cb6076fc8229c9500b635e8a1c5c105fc254ae190ceabff91f157a9c8cab6c25b25d06e1857ec61fbc5317f7393a18075037a8e003bae3a9e90222558da44 SHA512 cbfafbb76449c1a8f9e2250ba2b0de4397dc327c0173ea4d4b90f34f0a5ed68cadda8e060e8f4da01e7da8e445f569d18f637760fb61e8047f72862e6515f5d3
DIST patool-1.12.tar.gz 69146 BLAKE2B e97f64b4ba41860c1f7e506f63f249adeb02974b71bf83eb1673ae1fd93b8f9b698818cb57f961b3d3a5d4e445c5e7a3a349db54e1eb11a8fc165ad07722ace9 SHA512 b8c67526ce79448de703b03ca9b363c0e04cfe56bfc6168bcb96202f95022b6bbcaa92be86a85ee9608070206acd09382b0dfd08a2f805c5e8e5683c7c3f18cc
+DIST patool-1.12_p20230424.gh.tar.gz 1990425 BLAKE2B dd0ae58fd26ef1849c26cb681839536b0499d666faf48cb7028adc12840055d72e70a85db99c615c79b076671f16e1371ee5ddbb24228248cd3c1b0daf2dc496 SHA512 c2974bad22ab57aca3aab32e51aeac0c2a2aa3ffee41241d3220151206b8a5d709ec72ea1b4a73a218c03b9fad64297ecd2ab44cc20da5f4d0e4a3ecd5589d43
EBUILD patool-1.12.ebuild 309 BLAKE2B 52083e7c430def04d0dceb298693060e25db3a521055909417d11f1ea29c078370402542dc402764cb722dddf3e6700700d5ed408f365ca7d02edf6b66c8688e SHA512 75b3d106edc6f7004ab104a60760259fc51b752c40d8d5631a6ad2212068fb6d156473827de16a62df9dcf2e44a7c4e3767a62fa8e1603aea9052348399f37da
+EBUILD patool-1.12_p20230424.ebuild 2734 BLAKE2B cbbf0f04e001bbf78e50ad2a070df817854eb929da8d1f86c2d37b85925c7749048ced950a57a751fe82e0fd9937c9972ceb9a76129ec147db45356877af2a13 SHA512 3636d9de9e4eb47d112a96be591e7bec78659d508219774d6bfd758913283b4e162727ebadfa91e42b39b9e9835f6e5965f41a744c4d3438af5efc21f06d72b2
MISC metadata.xml 297 BLAKE2B 138dbdc9e037c29e668c846a1f2bdf26e6a868e2b3212f2a698ed50d58f65dc0254d6ad7ea90cad41e0ef17079926855f729c9e971c9c77ffd9218f6a5fabe7d SHA512 d16456723d4eb13816bc7797f7e24e22c7b15bcb555dbf1f3ccea77eb67ddf05b164ff9ffa051d3649cc66c4ffb38c82d35a84ea40fc6965a5f7a6f806ea8efa
diff --git a/app-arch/patool/files/patool-1.12_p20230424-disable-file-sandbox.patch b/app-arch/patool/files/patool-1.12_p20230424-disable-file-sandbox.patch
new file mode 100644
index 000000000000..daf48adef41a
--- /dev/null
+++ b/app-arch/patool/files/patool-1.12_p20230424-disable-file-sandbox.patch
@@ -0,0 +1,28 @@
+https://github.com/wummel/patool/pull/131
+https://github.com/wummel/patool/issues/75
+
+From abe06b7d8fbcd177d44f8eb8e3ac195badc70d25 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Thu, 7 Sep 2023 01:12:26 +0300
+Subject: [PATCH] Disable sandbox for file(1) to allow correct output for
+ compressed tar's
+
+* Otherwise file(1) will refuse with
+ "Fork-is-required-to-uncompress--but-disabled"
+
+Closes: https://github.com/wummel/patool/issues/75
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/patoolib/util.py
++++ b/patoolib/util.py
+@@ -240,7 +240,7 @@ def guess_mime_file (filename):
+ encoding = None
+ if mime in Mime2Encoding:
+ # try to look inside compressed archives
+- cmd = [file_prog, "--brief", "--mime", "--uncompress", filename]
++ cmd = [file_prog, "--brief", "--mime", "--uncompress", "--no-sandbox", filename]
+ try:
+ outparts = backtick(cmd).strip().split(";")
+ mime2 = outparts[0].split(" ", 1)[0]
+--
+2.42.0
+
diff --git a/app-arch/patool/files/patool-1.12_p20230424-map-vnd.android.package-archive.patch b/app-arch/patool/files/patool-1.12_p20230424-map-vnd.android.package-archive.patch
new file mode 100644
index 000000000000..a525ff2d0e46
--- /dev/null
+++ b/app-arch/patool/files/patool-1.12_p20230424-map-vnd.android.package-archive.patch
@@ -0,0 +1,30 @@
+https://github.com/wummel/patool/pull/130
+
+From e8a1eea1d273b278a1b6f5029d2e21cb18bc9ffd Mon Sep 17 00:00:00 2001
+From: Theodore Ni <3806110+tjni@users.noreply.github.com>
+Date: Sat, 26 Aug 2023 23:42:15 -0700
+Subject: [PATCH] Map application/vnd.android.package-archive to zip
+
+This was added to file 5.45 in https://github.com/file/file/commit/b29519e7dc572d85f757314d3bfc7461ceb7709c
+and the test .apk file is sometimes detected with that mime type.
+--- a/patoolib/__init__.py
++++ b/patoolib/__init__.py
+@@ -84,6 +84,7 @@
+ 'application/x-xz': 'xz',
+ 'application/x-zip-compressed': 'zip',
+ 'application/x-zoo': 'zoo',
++ 'application/vnd.android.package-archive': 'zip',
+ 'application/zip': 'zip',
+ 'application/zpaq': 'zpaq',
+ "application/zstd": "zstd",
+--- a/tests/test_mime.py
++++ b/tests/test_mime.py
+@@ -137,7 +137,7 @@ def test_mime_file (self):
+ self.mime_test_file("t.chm.foo", "application/x-chm")
+ self.mime_test_file("t.iso", "application/x-iso9660-image")
+ self.mime_test_file("t.epub", "application/zip")
+- self.mime_test_file("t.apk", ("application/zip", "application/java-archive", "application/jar"))
++ self.mime_test_file("t.apk", ("application/zip", "application/java-archive", "application/jar", "application/vnd.android.package-archive"))
+ self.mime_test_file("t.zpaq", "application/zpaq")
+ self.mime_test_file("t.zpaq.foo", "application/zpaq")
+
diff --git a/app-arch/patool/patool-1.12_p20230424.ebuild b/app-arch/patool/patool-1.12_p20230424.ebuild
new file mode 100644
index 000000000000..d18bd326dd15
--- /dev/null
+++ b/app-arch/patool/patool-1.12_p20230424.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Portable archive file manager"
+HOMEPAGE="https://wummel.github.io/patool/"
+COMMIT="ab64562c8cdac34dfd69fcb6e30c8c0014282d11"
+SRC_URI="https://github.com/wummel/patool/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ app-arch/arj
+ app-arch/bzip2
+ app-arch/cabextract
+ app-arch/cpio
+ app-arch/dpkg
+ app-arch/gzip
+ app-arch/lbzip2
+ app-arch/lcab
+ app-arch/lha
+ app-arch/libarchive
+ app-arch/lrzip
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip[rar]
+ app-arch/pbzip2
+ app-arch/pdlzip
+ app-arch/pigz
+ app-arch/rpm
+ 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/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
+ !elibc_musl? ( app-arch/rar )
+ !x86? ( app-arch/clzip )
+ )
+"
+# Test dependencies which are packaged but can't be tested for various reasons.
+# app-arch/arc
+# app-arch/zoo
+# app-arch/zopfli
+# media-sound/mac
+
+# app-arch/rar is masked on musl
+# app-arch/clzip is unkeyworded on x86
+
+# Unpackaged testable dependencies
+# archmage
+# genisoimage
+# lhasa
+# nomarch
+# pdzip2
+# py_{bz2,echo,gzip,tarfile,zipfile}
+# rpm2cpio
+# rzip
+# star
+# unalz
+# uncompress.real
+
+PATCHES=(
+ "${FILESDIR}/patool-1.12_p20230424-disable-file-sandbox.patch"
+ "${FILESDIR}/patool-1.12_p20230424-map-vnd.android.package-archive.patch"
+)
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+
+ newdoc doc/README.txt README.md
+ doman doc/patool.1
+}
+
+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"
+ # AttributeError: module 'patoolib.programs.zopfli' has no attribute 'extract_gzip'
+ "tests/archives/test_zopfli.py"
+ )
+
+ if use elibc_musl; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_rar.py"
+ )
+ fi
+
+ if use x86; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_clzip.py"
+ )
+ fi
+
+ epytest
+}