commit:     12919888891b53765d58cbe9b3aede62a4687175
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Thu Sep  7 00:23:12 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 24 22:07:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12919888

app-arch/patool: add 1.12_p20230424

Closes: https://bugs.gentoo.org/795528
Closes: https://bugs.gentoo.org/909864
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32661
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-arch/patool/Manifest                           |   1 +
 ...atool-1.12_p20230424-disable-file-sandbox.patch |  28 +++++
 ...p20230424-map-vnd.android.package-archive.patch |  30 +++++
 app-arch/patool/patool-1.12_p20230424.ebuild       | 126 +++++++++++++++++++++
 4 files changed, 185 insertions(+)

diff --git a/app-arch/patool/Manifest b/app-arch/patool/Manifest
index cdc0a89ce575..a4da6050d14d 100644
--- a/app-arch/patool/Manifest
+++ b/app-arch/patool/Manifest
@@ -1 +1,2 @@
 DIST patool-1.12.tar.gz 69146 BLAKE2B 
e97f64b4ba41860c1f7e506f63f249adeb02974b71bf83eb1673ae1fd93b8f9b698818cb57f961b3d3a5d4e445c5e7a3a349db54e1eb11a8fc165ad07722ace9
 SHA512 
b8c67526ce79448de703b03ca9b363c0e04cfe56bfc6168bcb96202f95022b6bbcaa92be86a85ee9608070206acd09382b0dfd08a2f805c5e8e5683c7c3f18cc
+DIST patool-1.12_p20230424.gh.tar.gz 1990425 BLAKE2B 
dd0ae58fd26ef1849c26cb681839536b0499d666faf48cb7028adc12840055d72e70a85db99c615c79b076671f16e1371ee5ddbb24228248cd3c1b0daf2dc496
 SHA512 
c2974bad22ab57aca3aab32e51aeac0c2a2aa3ffee41241d3220151206b8a5d709ec72ea1b4a73a218c03b9fad64297ecd2ab44cc20da5f4d0e4a3ecd5589d43

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 <par...@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 <par...@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+t...@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
+}

Reply via email to