summaryrefslogtreecommitdiff
path: root/app-arch
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/Manifest.gzbin18261 -> 18264 bytes
-rw-r--r--app-arch/patool/Manifest5
-rw-r--r--app-arch/patool/files/patool-3.1.0-fix-file-5.46-compat.patch189
-rw-r--r--app-arch/patool/patool-3.0.3.ebuild5
-rw-r--r--app-arch/patool/patool-3.1.0.ebuild132
-rw-r--r--app-arch/torrentzip/Manifest2
-rw-r--r--app-arch/torrentzip/torrentzip-1.3.ebuild4
7 files changed, 332 insertions, 5 deletions
diff --git a/app-arch/Manifest.gz b/app-arch/Manifest.gz
index c6f5ac16162a..531200ad9b1f 100644
--- a/app-arch/Manifest.gz
+++ b/app-arch/Manifest.gz
Binary files differ
diff --git a/app-arch/patool/Manifest b/app-arch/patool/Manifest
index 8933c0941296..710d3fc27012 100644
--- a/app-arch/patool/Manifest
+++ b/app-arch/patool/Manifest
@@ -1,5 +1,8 @@
+AUX patool-3.1.0-fix-file-5.46-compat.patch 9022 BLAKE2B 1f383807ed199d3b5208279c00319281ed71257d9101d8a66019d188c7ee78d879666c43399b44d9af8ed74dedf7a4f89b30e98f1f22c4c3ec9876f588b3813e SHA512 3f4e4535925d62474f7d6c2df71d89ba3c036531c70aa49c57ab858378a81efd88fad3138fbfc7a1db2bc602431de8b83bb50594afc84435857051c28e868433
DIST patool-2.4.0.tar.gz 1996705 BLAKE2B b84fd4c469741de76ceeee90974cec71ba5bc123d31f6a1dd60cf3c336dcfd7da1def7fec2bbec27ce181d97c5dff96f15c1d4714b722718a1439749f7cee077 SHA512 bf6d680613fb996b3c0b12075a85acec1edd468b8cb58cafd233b31847a2b9c490d21c6d906e737218ca68f08d1cdce4a18a3e57e353a970be58da4e2ff0d794
DIST patool-3.0.3.tar.gz 2003565 BLAKE2B 988b918f52c5f050c78fdd16351d95c2c23351e8e5e92c884e3ab32f9d0cfc33140db96ce309bb3e465c1a51fbade0c530cbfef3f222dcf89f26d4d35d67bf88 SHA512 c81d13f0183432ba4f3b98951b4f5716a95396eec063b09435c0e3cdf88734107e8a8b647ff6ffe84ea808cc12882b823f95b4edf871874913ca127597fe7348
+DIST patool-3.1.0.tar.gz 2006989 BLAKE2B b264c125e7454d677084a17b7e27daab437057750bce7646b451cd3e33b718e8c720ac64a1c05c8b55b4918ca89455698e7829ce5bd1fe0f951c8e2300fe3d73 SHA512 75912a5545f52226e07fe1f34b3c8c9af48e1b2f21da96380e41c0c397cf79a774d041f1d29b643d645f6d5213f0e66b07a26018e1286f7b2760c7bd8a1f6ec9
EBUILD patool-2.4.0.ebuild 2552 BLAKE2B 626b08c1d3b89d54af16df64814103d12b92d8dd596f30647b82f58ef7d62e9d835e555a1794440462b93afea4bbe03a3cab247fd1723034df1b6cb40f794d28 SHA512 582aa05d32792f789565cb03ea57ab8bf10330e495ff0a4e70ee0a2cf8ac0489ea4e0e53094719d1efbe2bf70a49f625563cd51ccdfe89c58cfe977f74e5fceb
-EBUILD patool-3.0.3.ebuild 2554 BLAKE2B 841b4b85c155ce6e7b7e7de9026e65c68fc26e1f426323045738185860f73658d2f9a7db55b0bfec373573b9aec957889b5f081f7a5bd2994d1e9333c69a7b65 SHA512 eef6c743f84ace9db290d9e30b1b4303590faf44bfc35209c7812de3103b2169784927cd8a2ff15ef45ba8a3563b360a5c309b6379accbadc22ece3874dd09e9
+EBUILD patool-3.0.3.ebuild 2704 BLAKE2B 2c4a7678c0a1b7f6b1dc10b855f9e9b82a58221f932c2fa7bf29590fd4ab9701359de5a2ba8f934803e0d02e34e4f467bea82339e03bf5a8579bdbdda5dc86a9 SHA512 cd93395e1376d53f140537d9a27023548eed8272c8b48dd76c522ee3640b091021c7729455370296a2653625be06d5d32df6ea6abe7e0268c53fa312dbb7dcdc
+EBUILD patool-3.1.0.ebuild 2622 BLAKE2B 8966830e57650387caa19839cca506f5871be43147a4f3cdf490e23d9398c9b92afefcbc7691dc07069452fd2b66f357045398aee4c9eb5648202e74575111d6 SHA512 92888f1df32a0e024ff200c1fbfde9e295f90edd0a95b15610bad2226d0db0b5a8ae4be62b5fd96efd26601274b88ac89134d11592d444e91e4ec7711a24e3fc
MISC metadata.xml 539 BLAKE2B b19f1ad36967b42e152a23108851ad6eabcd7f44fd1faeeb4c345ff812b97d4b4079afc83653c1fd0dd005943a152cba44210132389e1ec956a434d24e97486d SHA512 b557ec32ca1211faa72e108a7f769f4ffb3a08075a4010aee2f9ced79a9f7f8c26f60bf26e2587d4a0cbb3cf6d52ea52d9102407ed548cdd41f53c67dd10d7bb
diff --git a/app-arch/patool/files/patool-3.1.0-fix-file-5.46-compat.patch b/app-arch/patool/files/patool-3.1.0-fix-file-5.46-compat.patch
new file mode 100644
index 000000000000..6d9aeec17639
--- /dev/null
+++ b/app-arch/patool/files/patool-3.1.0-fix-file-5.46-compat.patch
@@ -0,0 +1,189 @@
+https://github.com/wummel/patool/pull/173
+
+Used the above PR but removed changes that aren't 100% required.
+
+From d10324eac4429ff3d7d38ad24a19210699229e07 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Wed, 11 Dec 2024 06:34:36 +0200
+Subject: [PATCH 1/4] Use application/gzip as the preferred mimetype for gzip
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/patoolib/__init__.py
++++ b/patoolib/__init__.py
+@@ -127,7 +127,6 @@
+ 'application/x-cpio': 'cpio',
+ 'application/x-debian-package': 'deb',
+ 'application/x-dms': 'dms',
+- 'application/x-gzip': 'gzip',
+ 'application/x-iso9660-image': 'iso',
+ 'application/x-lz4': 'lz4',
+ 'application/x-lzop': 'lzop',
+--- a/patoolib/mime.py
++++ b/patoolib/mime.py
+@@ -135,9 +135,11 @@ def guess_mime(filename: str) -> tuple[str | None, str | None]:
+ Mime2Encoding: dict[str, str] = dict(
+ [(_val, _key) for _key, _val in Encoding2Mime.items()]
+ )
+-# libmagic before version 5.14 identified .gz files as application/x-gzip
+-Mime2Encoding['application/x-gzip'] = 'gzip'
+
++LegacyMimeType: dict[str, str] = {
++ # libmagic before version 5.14 identified .gz files as application/x-gzip
++ 'application/x-gzip': "application/gzip",
++}
+
+ def guess_mime_mimedb(filename: str) -> tuple[str | None, str | None]:
+ """Guess MIME type from given filename.
+@@ -192,6 +194,10 @@ def guess_mime_file(filename: str) -> tuple[str | None, str | None]:
+ except (OSError, subprocess.CalledProcessError) as err:
+ log_warning(f"error executing {cmd}: {err}")
+ mime2 = None
++
++ if mime2 in LegacyMimeType:
++ mime2 = LegacyMimeType[mime2]
++
+ # Some file(1) implementations return an empty or unknown mime type
+ # when the uncompressor program is not installed, other
+ # implementation return the original file type.
+@@ -227,6 +233,10 @@ def guess_mime_file_mime(
+ except OSError as err:
+ # ignore errors, as file(1) is only a fallback
+ log_warning(f"error executing {cmd}: {err}")
++
++ if mime in LegacyMimeType:
++ mime = LegacyMimeType[mime]
++
+ if mime not in ArchiveMimetypes:
+ mime, encoding = None, None
+ return mime, encoding
+@@ -253,7 +263,7 @@ def get_file_mime_encoding(parts: Sequence[str]) -> str | None:
+ "cpio archive": "application/x-cpio",
+ "ASCII cpio archive": "application/x-cpio",
+ "Debian binary package": "application/x-debian-package",
+- "gzip compressed data": "application/x-gzip",
++ "gzip compressed data": "application/gzip",
+ "LZMA compressed data": "application/x-lzma",
+ "LRZIP compressed data": "application/x-lrzip",
+ "lzop compressed data": "application/x-lzop",
+--- a/tests/test_mime.py
++++ b/tests/test_mime.py
+@@ -81,8 +81,8 @@ def test_mime_file(self):
+ self.mime_test_file("t.cpio.foo", "application/x-cpio")
+ self.mime_test_file("t.deb", "application/x-debian-package")
+ self.mime_test_file("t.deb.foo", "application/x-debian-package")
+- self.mime_test_file("t.txt.gz", ("application/gzip", "application/x-gzip"))
+- self.mime_test_file("t.txt.gz.foo", ("application/gzip", "application/x-gzip"))
++ self.mime_test_file("t.txt.gz", "application/gzip")
++ self.mime_test_file("t.txt.gz.foo", "application/gzip")
+ self.mime_test_file("t.jar", "application/zip")
+ self.mime_test_file("t.jar.foo", "application/zip")
+ self.mime_test_file("t.txt.lzma", "application/x-lzma")
+
+From e7501d1c7805696ff5b2ecc779f7a56ab2425c3f Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Wed, 11 Dec 2024 06:37:54 +0200
+Subject: [PATCH 2/4] Change rar mime type to application/vnd.rar
+
+https://github.com/file/file/commit/d46a1f3dbbf58eb510c1779b8bdcc59d5ee24ab9
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068700
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/patoolib/__init__.py
++++ b/patoolib/__init__.py
+@@ -136,7 +136,6 @@
+ 'application/x-lrzip': 'lrzip',
+ 'application/x-lzh': 'lzh',
+ 'application/x-ms-wim': 'wim',
+- 'application/x-rar': 'rar',
+ 'application/x-redhat-package-manager': 'rpm',
+ 'application/x-rpm': 'rpm',
+ 'application/x-rzip': 'rzip',
+@@ -147,6 +146,7 @@
+ 'application/x-xz': 'xz',
+ 'application/x-zip-compressed': 'zip',
+ 'application/x-zoo': 'zoo',
++ 'application/vnd.rar': 'rar',
+ 'application/zip': 'zip',
+ 'application/zpaq': 'zpaq',
+ "application/zstd": "zstd",
+--- a/patoolib/mime.py
++++ b/patoolib/mime.py
+@@ -54,8 +54,8 @@ def add_mimedb_data(mimedb: mimetypes.MimeTypes) -> None:
+ add_mimetype(mimedb, 'application/x-lzma', '.lzma')
+ add_mimetype(mimedb, 'application/x-xz', '.xz')
+ add_mimetype(mimedb, 'application/java-archive', '.jar')
+- add_mimetype(mimedb, 'application/x-rar', '.rar')
+- add_mimetype(mimedb, 'application/x-rar', '.cbr')
++ add_mimetype(mimedb, 'application/vnd.rar', '.rar')
++ add_mimetype(mimedb, 'application/vnd.rar', '.cbr')
+ add_mimetype(mimedb, 'application/x-7z-compressed', '.7z')
+ add_mimetype(mimedb, 'application/x-7z-compressed', '.cb7')
+ add_mimetype(mimedb, 'application/x-cab', '.cab')
+@@ -139,8 +139,11 @@ def guess_mime(filename: str) -> tuple[str | None, str | None]:
+ LegacyMimeType: dict[str, str] = {
+ # libmagic before version 5.14 identified .gz files as application/x-gzip
+ 'application/x-gzip': "application/gzip",
++ # libmagic before version 5.46 identified .rar files as application/x-rar
++ 'application/x-rar': "application/vnd.rar",
+ }
+
++
+ def guess_mime_mimedb(filename: str) -> tuple[str | None, str | None]:
+ """Guess MIME type from given filename.
+ @return: tuple (mime, encoding)
+@@ -268,7 +271,7 @@ def get_file_mime_encoding(parts: Sequence[str]) -> str | None:
+ "LRZIP compressed data": "application/x-lrzip",
+ "lzop compressed data": "application/x-lzop",
+ "Microsoft Cabinet archive data": "application/vnd.ms-cab-compressed",
+- "RAR archive data": "application/x-rar",
++ "RAR archive data": "application/vnd.rar",
+ "RPM ": "application/x-redhat-package-manager",
+ "POSIX tar archive": "application/x-tar",
+ "xz compressed data": "application/x-xz",
+--- a/tests/test_mime.py
++++ b/tests/test_mime.py
+@@ -91,10 +91,10 @@ def test_mime_file(self):
+ self.mime_test_file("t.txt.lz.foo", "application/x-lzip")
+ self.mime_test_file("t.txt.lzo", "application/x-lzop")
+ self.mime_test_file("t.txt.lzo.foo", "application/x-lzop")
+- self.mime_test_file("t.rar", "application/x-rar")
+- self.mime_test_file("t.rar.foo", "application/x-rar")
+- self.mime_test_file("t.cbr", "application/x-rar")
+- self.mime_test_file("t.cbr.foo", "application/x-rar")
++ self.mime_test_file("t.rar", "application/vnd.rar")
++ self.mime_test_file("t.rar.foo", "application/vnd.rar")
++ self.mime_test_file("t.cbr", "application/vnd.rar")
++ self.mime_test_file("t.cbr.foo", "application/vnd.rar")
+ self.mime_test_file("t.rpm", "application/x-rpm")
+ self.mime_test_file("t.rpm.foo", "application/x-rpm")
+ self.mime_test_file("t.tar", "application/x-tar")
+@@ -197,8 +197,8 @@ def test_nested_gzip(self):
+ """Test mime detection of archives with double compression"""
+ # We won't extract this with rar, as it doesn't support archives wrapped in gzip
+ # compression, but we will recognize the archive as a gzip-wrapped rar-file
+- self.mime_test_file("t.rar.gz", "application/x-rar", "gzip")
+- self.mime_test_file("t.rar.gz.foo", "application/x-rar", "gzip")
++ self.mime_test_file("t.rar.gz", "application/vnd.rar", "gzip")
++ self.mime_test_file("t.rar.gz.foo", "application/vnd.rar", "gzip")
+
+ @needs_program('file')
+ @needs_program('gzip')
+@@ -237,7 +237,7 @@ def test_mime_mimedb(self):
+ self.mime_test_mimedb("t .bz2", "application/x-bzip2")
+ self.mime_test_mimedb("t .bz3", "application/x-bzip3")
+ self.mime_test_mimedb("t.cab", "application/x-cab")
+- self.mime_test_mimedb("t.cbr", ("application/rar", "application/x-rar"))
++ self.mime_test_mimedb("t.cbr", ("application/rar", "application/vnd.rar"))
+ self.mime_test_mimedb("t.cpio", "application/x-cpio")
+ self.mime_test_mimedb("t.deb", "application/x-debian-package")
+ self.mime_test_mimedb("t.gz", "application/gzip")
+@@ -247,7 +247,7 @@ def test_mime_mimedb(self):
+ self.mime_test_mimedb("t.txt.lz", "application/x-lzip")
+ self.mime_test_mimedb("t.txt.lz4", "application/x-lz4")
+ self.mime_test_mimedb("t.lzo", "application/x-lzop")
+- self.mime_test_mimedb("t.rar", ("application/rar", "application/x-rar"))
++ self.mime_test_mimedb("t.rar", ("application/rar", "application/vnd.rar"))
+ self.mime_test_mimedb(
+ "t.rpm", ("application/x-redhat-package-manager", "application/x-rpm")
+ )
+
diff --git a/app-arch/patool/patool-3.0.3.ebuild b/app-arch/patool/patool-3.0.3.ebuild
index 9fcc78d0b714..25c8c99002c3 100644
--- a/app-arch/patool/patool-3.0.3.ebuild
+++ b/app-arch/patool/patool-3.0.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -108,6 +108,9 @@ python_test() {
"tests/archives/test_arc.py"
# Error: 1002 (invalid input file)
"tests/archives/test_mac.py"
+ # Broken due mime type change for rar in file-5.46
+ # https://github.com/wummel/patool/pull/173
+ "tests/test_mime.py::TestMime::test_nested_gzip"
)
if use elibc_musl; then
diff --git a/app-arch/patool/patool-3.1.0.ebuild b/app-arch/patool/patool-3.1.0.ebuild
new file mode 100644
index 000000000000..19470cd52d22
--- /dev/null
+++ b/app-arch/patool/patool-3.1.0.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+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/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/p7zip[rar]
+ 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
+ !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
+# 7zz ( app-arch/7zip:guru )
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/patool-3.1.0-fix-file-5.46-compat.patch
+)
+
+src_install() {
+ distutils-r1_src_install
+
+ einstalldocs
+ 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"
+ )
+
+ if use elibc_musl; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_rar.py"
+ )
+ fi
+
+ if use x86; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_clzip.py"
+ # bug #916317
+ "tests/archives/test_lrzip.py::TestLrzip::test_lrzip"
+ )
+ fi
+
+ epytest
+}
diff --git a/app-arch/torrentzip/Manifest b/app-arch/torrentzip/Manifest
index 32f16d094b75..7d021d6a169e 100644
--- a/app-arch/torrentzip/Manifest
+++ b/app-arch/torrentzip/Manifest
@@ -1,3 +1,3 @@
DIST trrntzip-1.3.tar.gz 67297 BLAKE2B c77fd134cfd3ab30f46b66f4b3dd36b899ee6267b17100b1ad15bdf5c6beddaea94fe22d23f1a81de85522768d76401f0192d0deac2ff75edc816510c8069e2c SHA512 c21ed6ac4dacd652e2a67b700741d70dd9da699259bd299ca177c741111f92e70eef0b3ad2ced54b5635780cab2b4c46b3f9c258dfa18bdde24e2718c38339be
-EBUILD torrentzip-1.3.ebuild 896 BLAKE2B 722fcd384499449d217391aff9fb0dcf154892342b4ccf2016c60ce8bcd53270984fa93dbeffc33c754998fbba5042eb5c188ac3eee6b934f3ad0e8b86b9e3a5 SHA512 7650a25ae9480d95cded632bf44111e8d6b0d7bc4f6bbf20d13ed585fade3bcfa4fc60f2778b632a07e560934760846cc842b4a785e8f767f7365af6b0b73354
+EBUILD torrentzip-1.3.ebuild 896 BLAKE2B 46d215f14f57e834921d567f9af9b133518d83fd04248a798ba3881402f4bd58fa0bfc1af404679ddbfa2b1ff467fa6d8deaa64c6bd09778b638f49f3d7c20d0 SHA512 3910e014931d67f9efe86c05e485e256f6aee8c328465b81f7604b12d1bebc7d973a2b677d41ee369ce1f4f8c1cee3d853f0c18b14b3f15c819378a5fab9d676
MISC metadata.xml 928 BLAKE2B b0a650f0cd81be849f08bd6f078035ae7b56967034b3b9ba534da5d046936f7b27e819dc05ee94b2b8d95ca54ceafb8b521f7121eec0f4d5c4fdd0d8ac141ede SHA512 101e70ac70fdc24294dae2f18057c84e75dd0c776689883ea630f2dcd4ddd2b3da1f7e6643ffc5fd1aed2f5e355aa6700174bca0c16eb1fa84d9f531d7eba064
diff --git a/app-arch/torrentzip/torrentzip-1.3.ebuild b/app-arch/torrentzip/torrentzip-1.3.ebuild
index 7a3ce63d28a3..f687ce654f88 100644
--- a/app-arch/torrentzip/torrentzip-1.3.ebuild
+++ b/app-arch/torrentzip/torrentzip-1.3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake python-any-r1
MY_P="trrntzip-${PV}"