summaryrefslogtreecommitdiff
path: root/app-arch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-25 06:31:02 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-25 06:31:02 +0000
commite80134587e8d959a88dba7dd3784895372e205c8 (patch)
tree912d9772fcc93ec668b363146cf81e45519253d6 /app-arch
parent17e417b73cb3e25edbc6541bd107bc9c593d66bd (diff)
gentoo auto-resync : 25:12:2024 - 06:31:02
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/Manifest.gzbin18269 -> 18275 bytes
-rw-r--r--app-arch/dpkg/Manifest22
-rw-r--r--app-arch/dpkg/dpkg-1.20.12-r1.ebuild101
-rw-r--r--app-arch/dpkg/dpkg-1.20.9-r1.ebuild97
-rw-r--r--app-arch/dpkg/dpkg-1.21.1.ebuild96
-rw-r--r--app-arch/dpkg/dpkg-1.21.15-r2.ebuild112
-rw-r--r--app-arch/dpkg/dpkg-1.21.15-r3.ebuild1
-rw-r--r--app-arch/dpkg/dpkg-1.21.19.ebuild112
-rw-r--r--app-arch/dpkg/dpkg-1.22.11.ebuild (renamed from app-arch/dpkg/dpkg-1.21.19-r1.ebuild)11
-rw-r--r--app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch28
-rw-r--r--app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch25
-rw-r--r--app-arch/dpkg/files/dpkg-1.20.5-dpkg_buildpackage-test.patch10
-rw-r--r--app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch324
-rw-r--r--app-arch/dpkg/files/dpkg-1.22.0-flags.patch11
-rw-r--r--app-arch/dpkg/files/dpkg-1.22.11-sq-tests.patch63
-rw-r--r--app-arch/dpkg/metadata.xml1
-rw-r--r--app-arch/libdeflate/Manifest6
-rw-r--r--app-arch/libdeflate/libdeflate-1.19-r1.ebuild55
-rw-r--r--app-arch/libdeflate/libdeflate-1.23.ebuild (renamed from app-arch/libdeflate/libdeflate-1.20-r1.ebuild)2
-rw-r--r--app-arch/p7zip/Manifest2
-rw-r--r--app-arch/p7zip/files/p7zip-17.05-localization.patch234
-rw-r--r--app-arch/p7zip/p7zip-17.05-r2.ebuild114
22 files changed, 440 insertions, 987 deletions
diff --git a/app-arch/Manifest.gz b/app-arch/Manifest.gz
index bfbad746c818..00eda7830345 100644
--- a/app-arch/Manifest.gz
+++ b/app-arch/Manifest.gz
Binary files differ
diff --git a/app-arch/dpkg/Manifest b/app-arch/dpkg/Manifest
index 978283b5e297..2a7e74621c05 100644
--- a/app-arch/dpkg/Manifest
+++ b/app-arch/dpkg/Manifest
@@ -1,20 +1,10 @@
AUX dpkg-1.18.12-flags.patch 416 BLAKE2B c7fe40b28793420afa0b895585cc14a675f9be68784beef7965fe6e971f6b2d6ecaa7c8bae51bb9f774c9517a618bff85b723052360224952cbdd2b74759b42e SHA512 6c86e8519ab4a05a2c15a658f41c0da14429c4fba0fcd364426afce7db03cd886a69de3f04f167d0f7b6d36a05252455864c11b14f58baab0a4536249331369c
-AUX dpkg-1.18.12-rsyncable.patch 1245 BLAKE2B e1488cc6a6807d38ec7218ae6651b0d919fbc3ee5e2837540f91cf80229e669a6fe24d6de1c4bd1c1debdc34a0c04a2bbc6a21eb964032f24526986678eb1b14 SHA512 743f4780b4c93e53924836fae96d59c2f1098dae6ef683b2b30146ab0345109718a507486f86ff96cda5b705aff858da563cdc0d40c965bf964cafe7105994ae
-AUX dpkg-1.20.12-m4-stdio.patch 710 BLAKE2B 8a414738ca9b12791483897f70003b9266d8c8192f6b05fa04aa6ff5d8b990bd68d0298edb917f34684e23acdd4d502b7e7678e84bd0a7433bc443ba87190235 SHA512 53a6f2ff2b7894a11f3778f5b1bb7c2bf4a4d58985e339bacee39d73ebf6871da250012415d07aa15a164d56ce11b261eb3323d485cdacef95806e38778e8ec2
-AUX dpkg-1.20.5-dpkg_buildpackage-test.patch 209 BLAKE2B d15000423abe8259e7bdd92e5ff2d38f8fd32622e8467259e791159df590f7d394647ba4efdd599b77d652f973cd07af09d64f29df920fb8015c995bce9b302a SHA512 046200d2a8c143a2b08e0c8113765c7a7a18846ce0b7a2dfd5a3f1167eacc70391415c6bcef21abe49e5d8225dbf08680fcdc405f0910e9c42071ad4cf8ae6d5
-AUX dpkg-1.20.9-CVE-2022-1664.patch 12541 BLAKE2B 7eb1161c0bd78f32b8b00bce7d56f1dbf2deaea91e937d970111fc42649b0b26adf8d16ccf49902ea20e95f37d5d0b0c01690e0d9a610d225df0703f81a37ced SHA512 0b3392731cd080f6e6741c66a5c77694037f8bd712c808267fe30cf20e6645a89d2bcf3feeaf16de06d7c347717f75c182d773446b0d04901ece6f4be6c745d5
AUX dpkg-1.21.15-arch_pm.patch 940 BLAKE2B 220cf6a921d590701880522ae1aee0c3b6a8e4f9c3e1fd60bb39515d35fd49326439aabce165aa0594f49efa0862a9fa49cab9dfc19af0af8a78fe5ccd458151 SHA512 f9107181f07bae7548743ee2b0c7ed6c3a221aa9cd2e2771be03cbd130dcd88383919c55d114aac11d5557a5bc060216390ab55da76223e6dcc4114d0197bb20
AUX dpkg-1.21.15-buf-overflow.patch 1379 BLAKE2B c0fe54ce6a0a72bc8e8a1bfa7cc0508e832cdae0926b3f1606d72295e528937c3078f930587dc5e20b8f7f9719d86d3d5029501bf38ddf3b79a443f195da0a70 SHA512 eec0e21b154bf16cb988f12aa3e01c98cded91dadfcafde165fa1d126f36eea2c0baba541cf0c9a8cff9a9e0200e6f2268a8e408a324144f4315bbc80f66bf95
-DIST dpkg_1.20.12.tar.xz 5009108 BLAKE2B 47ecb53c331503c72081a4c472acd6e94a5b7fca2032358809aa8c546cfd6c1542c7cdfad2a5ceff0e40dc454a61974ec47233061b98cf99aabbb8e53621858c SHA512 ce20b1b00b972e6fa5d5cd6427003415a92a78742dc02a9055fee6f00db22b037c54560170e657d7b74c2ae542fff4b7eba46f642adf911dc2f3b90eebefc3ff
-DIST dpkg_1.20.9.tar.xz 4954428 BLAKE2B 4e04f7a90c8696971895081e18b220d9dee4bc5930428f131556ae71c673e61e18c363e279b566c2218da60a5aca421807c14cf518952502e707c7397769097b SHA512 904a4742f5f340dc65b2137364dce102a0b2eb42ccedb2a73f79c207362c699fbffaaf1379f1f6c8b8b0e490321af1d03c34b50ebe0c703f5ce8a7f75f17a839
-DIST dpkg_1.21.1.tar.xz 4986936 BLAKE2B f5b0f9fe7ac5fe7ba47191a9e467356e748418846ce0fc9f3c61d731e035eb096932848b15e6a85a15938d3bbd6fa069c786ab0e89c77119958fe632a91c309f SHA512 3f3f263e1300f3e4b55e84521847703dcfe465aa54829a69c31c174a2ad5e8b6a8a251da7c6020d31a38e9e6744113924a71e9579469e32289328e91a48db07f
+AUX dpkg-1.22.0-flags.patch 429 BLAKE2B 908f499e5a21e7f144294dddacf6a978d69b23ba446f8e1af8b7954607195ae223473e864b95d8e2a22b50855404c40cdf94cd62e467c6cf3f9fb1685bced587 SHA512 e471cd632dd8f024e3cc5c250a7363e00b4250467df908c87c8142d735bfde3df6991d98dccb0e771d45549f0459287395831bcfc2f1d13393236ccd1c8d5bb6
+AUX dpkg-1.22.11-sq-tests.patch 2292 BLAKE2B cb5547a4007735c8df4cdbb71466601d3611aa9f9f9edbb98890a47f03e01187458c1ac6641c69614f7fef623a14f2d23e06aed242ca6b49b7fdc106dcbbebf6 SHA512 0f81fefc21c80bc360c6317fecfc8e96f809cb6519e4e21910649aae1430738c0f769d9cf0538fa63e08a9bf9dea6911def571a36f19dcb19d1eba45eb75e208
DIST dpkg_1.21.15.tar.xz 5350148 BLAKE2B f26611db365266ef9f43484c20d3150889238b34b156cac26f0ae8ae9572e7e4a9839e08a0073a25c886cd2891fc6d84afc97262ae6992267b47fa6e86c03a33 SHA512 eb31db63dd454048c3b7539b539720ed71239303ca679df92b934e971914d63dd771da09149054048e24dde1f5627ee24d43dbd8782ca1dc28c4a2bd3ed8f26a
-DIST dpkg_1.21.19.tar.xz 5360888 BLAKE2B 1a48781c136b47b74fb947a14ddfde8e3d8441f728215257d4c7b9618b5af79225be6312a31166181acbf5c05a408332d9faae2c7e16f7757a442e8d4e6a0afd SHA512 660297e678326350b70e6a49635642347413046ebab05bdc076505511e844f7de0261a12c6c07e586d661f6536b987e3c32c21b8cc95d7135538a5c2f6d1514e
-EBUILD dpkg-1.20.12-r1.ebuild 2144 BLAKE2B 71b7d611961437dd7390206ba2d7651f72e697d9a688d365af13dfe129bd8a4741e1de5c9a3824ccc19fdee119af0e8c037dc5314120d6dde6ef3d8aff9f30c0 SHA512 e57afffa08e4957e87aaa51214d7a3c9cc849a474dfc5a7b6536fdd2110fe1bf322592804112312095d46c3bde357227c37fe7ef6785709bf37a729d1a10c5e9
-EBUILD dpkg-1.20.9-r1.ebuild 2039 BLAKE2B ae31dc04fb7fbe7428052138187e5bd217df710fb0872558e95f1c28e7ea5bc486d64b58689b07a086e08b8b978312e1d2d484e3b3dc5580e86a6cfb35f23506 SHA512 fb58bdb7811d936d763d21c150079a922681966090ba35f270b1586da77d2693b701b2b54f4586f8b0ba4d54c26b3ef4483cf5dbfa275caae357f035af9c9041
-EBUILD dpkg-1.21.1.ebuild 1990 BLAKE2B 919ed641e42873fbc9f74aea27c59d9d240351c6810dabf424d13a5434efa9a52282bc9fe17dfa8c9b355d81fd9b404e9b91e417ebcaa7c355afb2fc67a4b24f SHA512 f2ea554cdf03e0af51b27da68aa41216bc3f0be3700d70ce7278c52cc493e587e92f66b73b068f5aed3fdd4e5ba923baf6927f0c8ca3d9916e050ee1eccb92cf
-EBUILD dpkg-1.21.15-r2.ebuild 2404 BLAKE2B d179725ba47e7cd93a81ca910da25097deeb928ba71c5d975f203802b39de49a66edc41ca5f128f014d8865165958ddd210d34eed29442c55d04145c51c80c1e SHA512 e5b88ee308d534137c24859ef115dc809c8d45e7c8597b0c78f5859d3256cd1c9f0ef213c26f422f76ad7a65c2dfeb77ac7b8892f42dad0a110fe513fac31e6e
-EBUILD dpkg-1.21.15-r3.ebuild 2446 BLAKE2B 953f9769f7c459f2b43ed9485e7193b9aa068b658973757bde8e842c83acc8ac3217bc8c23bbbf331bd7c068ada72c71e310010e8034d17e1d130ee462bf6f37 SHA512 2879f4223483c9dac0a0d427aae00153a3ecc580da9e75f908617a0e5b64600c9486b10cc932c16db9297b560d634bab92f3ccef78a355b5e4804ef08bb06055
-EBUILD dpkg-1.21.19-r1.ebuild 2468 BLAKE2B 91892a84d0eaa9b25ba9f66d7b2a7086f4613d4dd7f5007135ec872acac9affdf1e7b87f1f40ff0336a828daa7036b1e62672e0646c9a93047e372bde6721653 SHA512 31aadca8f4fefad5e06379be48e48f200b9677fff21fccee1349acac40a89494327e98001f2adf0e29daee12fb478a9fe5c9452455a75e9a082b29bf8b0174ce
-EBUILD dpkg-1.21.19.ebuild 2425 BLAKE2B 759766f91c68bed3812e69a7acc3fbf5cbb136c0264a96f46a2e265bce598f756ead7e29492ae81925b484475a1ab22efa085bc65556148e6445f5851f67e160 SHA512 501a1fa4bd032d5ba299d776f8ab07eadd740d7a360916d228c2da4f4c210a3a163a15289f0bbc8e1a35b5699f7386b5c7840d9f128eb43bc7b1b30627494a04
-MISC metadata.xml 349 BLAKE2B e311693432d6511d85a67b510821e683e0f2df05a8d73fd3086b15296cf6cc5771965b5731dd6fb5ed7d0f71843b278b7d9f81a1228f637803cf2e073ac6a563 SHA512 7a4cc7a8c40dd6a52f8efbb454439f025e873b9c4583a4ce9d9233530747b423dcec65e02222c92a0e570c4fc87b1ca330bc2bbb121077d96f94eeff531838a0
+DIST dpkg_1.22.11.tar.xz 5697040 BLAKE2B 7bd7f90a8ae98ac7401bc2b8e7b0d2cc002a57bfdc5521d9049a995130011a3042ac6d24d6ecd5410e1db2c2e936eae5085a2af5fb11b0a73fd66bae33b33956 SHA512 8caeb52625e34109bbc3abf1b62792053f989e560b541ec9de85f3fe563f8bcb06db102dbae83058aba16e6f4729260e15e1c7a470762a261bec5460358c0fe9
+EBUILD dpkg-1.21.15-r3.ebuild 2491 BLAKE2B 1f4835b62b845401ae7075b04e9cf453ff17b96bb9b80fd3a6a69e39553cffcf243d328cdd751e5c0374320af734267425cfe07308419bb52cb71f0c40bf6667 SHA512 14fcf5de39a0cc0310945b64bc92b98e46a9f8bbbe6562eefc25e2b6064dc01d72842b701ec3c85ea764134d05bf288fbab0c1ac9125a84402bcfe6675f081b6
+EBUILD dpkg-1.22.11.ebuild 2513 BLAKE2B ad58f6d219dac575e502fcfcb8b8d35b31662af4f853c2f489c1010167d9997a655746d8b4e67290e03bb10becc70792a2d3470bf09e1fc045e8de24e42f54b4 SHA512 41fa3d952c2d618305fdf66d2f9a367b6f3bbe459372dfbc3a05fb347a8bb04f00896671e0f0fea381e787bf53ca299a65d8ef0ddf332020d920249c84108e31
+MISC metadata.xml 253 BLAKE2B 1f74ff6992526522b01c515387ab5a6c46435c248f50c0c0a7d190f3339bc01e5a322536a497c4d21b08db3ab5b4fbb835bf68528f0ab57670ad1fc6373aafcc SHA512 d94781a7357e6b136a5e8e72ff7b635a513a397e08025ef6a28c48d9af1259b88f2d5c3f37cd607d05c95d64fcac7ed06a0723f0a199129549f75e2f48b20f1b
diff --git a/app-arch/dpkg/dpkg-1.20.12-r1.ebuild b/app-arch/dpkg/dpkg-1.20.12-r1.ebuild
deleted file mode 100644
index 1df3d1e13082..000000000000
--- a/app-arch/dpkg/dpkg-1.20.12-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Package maintenance system for Debian"
-HOMEPAGE="https://packages.qa.debian.org/dpkg"
-SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+bzip2 libmd +lzma nls selinux static-libs test +update-alternatives +zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=app-arch/tar-1.34-r1
- >=dev-lang/perl-5.14.2:=
- sys-libs/ncurses:=[unicode(+)]
- bzip2? ( app-arch/bzip2 )
- libmd? ( app-crypt/libmd )
- lzma? ( app-arch/xz-utils )
- nls? ( virtual/libintl )
- selinux? ( sys-libs/libselinux )
- zlib? ( >=sys-libs/zlib-1.1.4 )
-"
-DEPEND="
- ${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig
- test? (
- dev-perl/IO-String
- dev-perl/Test-Pod
- virtual/perl-Test-Harness
- )
-"
-BDEPEND="
- app-alternatives/lex
- nls? (
- app-text/po4a
- >=sys-devel/gettext-0.18.2
- )
-"
-RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
-
-DOCS=(
- ChangeLog
- THANKS
- TODO
-)
-PATCHES=(
- "${FILESDIR}"/${PN}-1.18.12-flags.patch
- "${FILESDIR}"/${PN}-1.18.12-rsyncable.patch
- "${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch
- "${FILESDIR}"/${PN}-1.20.12-m4-stdio.patch
-)
-
-src_prepare() {
- default
-
- sed -i -e 's|\<ar\>|${AR}|g' t-func/deb-format.at t-func/testsuite || die
-
- eautoreconf
-}
-
-src_configure() {
- tc-export AR CC
-
- econf \
- $(use_enable nls) \
- $(use_enable update-alternatives) \
- $(use_with bzip2 libbz2) \
- $(use_with libmd) \
- $(use_with lzma liblzma) \
- $(use_with selinux libselinux) \
- $(use_with zlib libz) \
- --enable-unicode \
- --disable-compiler-warnings \
- --disable-dselect \
- --disable-start-stop-daemon \
- --localstatedir="${EPREFIX}"/var
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- default
-
- keepdir \
- /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
- /var/lib/dpkg/{alternatives,info,parts,updates}
-
- find "${ED}" -name '*.la' -delete || die
-
- if ! use static-libs; then
- find "${ED}" -name '*.a' -delete || die
- fi
-}
diff --git a/app-arch/dpkg/dpkg-1.20.9-r1.ebuild b/app-arch/dpkg/dpkg-1.20.9-r1.ebuild
deleted file mode 100644
index 4f0d747fb464..000000000000
--- a/app-arch/dpkg/dpkg-1.20.9-r1.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Package maintenance system for Debian"
-HOMEPAGE="https://packages.qa.debian.org/dpkg"
-SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+bzip2 libmd +lzma nls selinux static-libs test unicode +update-alternatives +zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-lang/perl-5.14.2:=
- bzip2? ( app-arch/bzip2 )
- libmd? ( app-crypt/libmd )
- lzma? ( app-arch/xz-utils )
- nls? ( virtual/libintl )
- selinux? ( sys-libs/libselinux )
- zlib? ( >=sys-libs/zlib-1.1.4 )
-"
-DEPEND="
- ${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig
- test? (
- dev-perl/IO-String
- dev-perl/Test-Pod
- virtual/perl-Test-Harness
- )
-"
-BDEPEND="
- app-alternatives/lex
- nls? (
- app-text/po4a
- >=sys-devel/gettext-0.18.2
- )
-"
-DOCS=(
- ChangeLog
- THANKS
- TODO
-)
-PATCHES=(
- "${FILESDIR}"/${PN}-1.18.12-flags.patch
- "${FILESDIR}"/${PN}-1.18.12-rsyncable.patch
- "${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch
- "${FILESDIR}"/${P}-CVE-2022-1664.patch
-)
-
-src_prepare() {
- default
-
- sed -i -e 's|\<ar\>|${AR}|g' t-func/deb-format.at t-func/testsuite || die
-
- eautoreconf
-}
-
-src_configure() {
- tc-export AR CC
-
- econf \
- $(use_enable nls) \
- $(use_enable unicode) \
- $(use_enable update-alternatives) \
- $(use_with bzip2 libbz2) \
- $(use_with libmd) \
- $(use_with lzma liblzma) \
- $(use_with selinux libselinux) \
- $(use_with zlib libz) \
- --disable-compiler-warnings \
- --disable-dselect \
- --disable-start-stop-daemon \
- --localstatedir="${EPREFIX}"/var
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- default
-
- keepdir \
- /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
- /var/lib/dpkg/{alternatives,info,parts,updates}
-
- find "${ED}" -name '*.la' -delete || die
-
- if ! use static-libs; then
- find "${ED}" -name '*.a' -delete || die
- fi
-}
diff --git a/app-arch/dpkg/dpkg-1.21.1.ebuild b/app-arch/dpkg/dpkg-1.21.1.ebuild
deleted file mode 100644
index a4c03baacd66..000000000000
--- a/app-arch/dpkg/dpkg-1.21.1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Package maintenance system for Debian"
-HOMEPAGE="https://packages.qa.debian.org/dpkg"
-SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+bzip2 libmd +lzma nls selinux static-libs test unicode +update-alternatives +zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=app-arch/gzip-1.7
- >=dev-lang/perl-5.14.2:=
- bzip2? ( app-arch/bzip2 )
- libmd? ( app-crypt/libmd )
- lzma? ( app-arch/xz-utils )
- nls? ( virtual/libintl )
- selinux? ( sys-libs/libselinux )
- zlib? ( >=sys-libs/zlib-1.1.4 )
-"
-DEPEND="
- ${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig
- test? (
- dev-perl/IO-String
- dev-perl/Test-Pod
- virtual/perl-Test-Harness
- )
-"
-BDEPEND="
- app-alternatives/lex
- nls? (
- app-text/po4a
- >=sys-devel/gettext-0.18.2
- )
-"
-DOCS=(
- ChangeLog
- THANKS
- TODO
-)
-PATCHES=(
- "${FILESDIR}"/${PN}-1.18.12-flags.patch
- "${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch
-)
-
-src_prepare() {
- default
-
- sed -i -e 's|\<ar\>|${AR}|g' t-func/deb-format.at t-func/testsuite || die
-
- eautoreconf
-}
-
-src_configure() {
- tc-export AR CC
-
- econf \
- $(use_enable nls) \
- $(use_enable unicode) \
- $(use_enable update-alternatives) \
- $(use_with bzip2 libbz2) \
- $(use_with libmd) \
- $(use_with lzma liblzma) \
- $(use_with selinux libselinux) \
- $(use_with zlib libz) \
- --disable-compiler-warnings \
- --disable-dselect \
- --disable-start-stop-daemon \
- --localstatedir="${EPREFIX}"/var
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- default
-
- keepdir \
- /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
- /var/lib/dpkg/{alternatives,info,parts,updates}
-
- find "${ED}" -name '*.la' -delete || die
-
- if ! use static-libs; then
- find "${ED}" -name '*.a' -delete || die
- fi
-}
diff --git a/app-arch/dpkg/dpkg-1.21.15-r2.ebuild b/app-arch/dpkg/dpkg-1.21.15-r2.ebuild
deleted file mode 100644
index 29fbc7b06dea..000000000000
--- a/app-arch/dpkg/dpkg-1.21.15-r2.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Package maintenance system for Debian"
-HOMEPAGE="https://packages.qa.debian.org/dpkg"
-SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=app-arch/gzip-1.7
- >=app-arch/tar-1.34-r1
- app-crypt/libmd
- >=dev-lang/perl-5.14.2:=
- sys-libs/ncurses:=[unicode(+)]
- bzip2? ( app-arch/bzip2 )
- lzma? ( app-arch/xz-utils )
- nls? ( virtual/libintl )
- selinux? ( sys-libs/libselinux )
- zlib? ( >=sys-libs/zlib-1.1.4 )
-"
-DEPEND="
- ${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig
- test? (
- dev-perl/IO-String
- dev-perl/Test-Pod
- virtual/perl-Test-Harness
- )
-"
-BDEPEND="
- app-alternatives/lex
- nls? (
- app-text/po4a
- >=sys-devel/gettext-0.18.2
- )
-"
-RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.18.12-flags.patch
- "${FILESDIR}"/${P}-buf-overflow.patch
-)
-
-src_prepare() {
- default
-
- sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || die
-
- eautoreconf
-}
-
-src_configure() {
- tc-export AR CC
-
- local myconf=(
- --disable-compiler-warnings
- --disable-devel-docs
- --disable-dselect
- --disable-start-stop-daemon
- --enable-unicode
- --localstatedir="${EPREFIX}"/var
- $(use_enable nls)
- $(use_enable update-alternatives)
- $(use_with bzip2 libbz2)
- $(use_with lzma liblzma)
- $(use_with selinux libselinux)
- $(use_with zlib libz)
-
- )
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- local DOCS=( debian/changelog THANKS TODO )
- default
-
- # https://bugs.gentoo.org/835520
- mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die
-
- # https://bugs.gentoo.org/840320
- insinto /etc/dpkg/origins
- newins - gentoo <<-_EOF_
- Vendor: Gentoo
- Vendor-URL: https://www.gentoo.org/
- Bugs: https://bugs.gentoo.org/
- _EOF_
- dosym gentoo /etc/dpkg/origins/default
-
- keepdir \
- /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
- /var/lib/dpkg/{alternatives,info,parts,updates}
-
- find "${ED}" -name '*.la' -delete || die
-
- if ! use static-libs; then
- find "${ED}" -name '*.a' -delete || die
- fi
-}
diff --git a/app-arch/dpkg/dpkg-1.21.15-r3.ebuild b/app-arch/dpkg/dpkg-1.21.15-r3.ebuild
index 0f0a44ce7d17..cada91c23570 100644
--- a/app-arch/dpkg/dpkg-1.21.15-r3.ebuild
+++ b/app-arch/dpkg/dpkg-1.21.15-r3.ebuild
@@ -21,6 +21,7 @@ RDEPEND="
>=dev-lang/perl-5.14.2:=
sys-libs/ncurses:=[unicode(+)]
bzip2? ( app-arch/bzip2 )
+ elibc_musl? ( sys-libs/obstack-standalone )
lzma? ( app-arch/xz-utils )
nls? ( virtual/libintl )
selinux? ( sys-libs/libselinux )
diff --git a/app-arch/dpkg/dpkg-1.21.19.ebuild b/app-arch/dpkg/dpkg-1.21.19.ebuild
deleted file mode 100644
index 1882b276a4eb..000000000000
--- a/app-arch/dpkg/dpkg-1.21.19.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Package maintenance system for Debian"
-HOMEPAGE="https://packages.qa.debian.org/dpkg"
-SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib +zstd"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=app-arch/gzip-1.7
- >=app-arch/tar-1.34-r1
- app-crypt/libmd
- >=dev-lang/perl-5.14.2:=
- sys-libs/ncurses:=[unicode(+)]
- bzip2? ( app-arch/bzip2 )
- lzma? ( app-arch/xz-utils )
- nls? ( virtual/libintl )
- selinux? ( sys-libs/libselinux )
- zlib? ( >=sys-libs/zlib-1.1.4 )
- zstd? ( app-arch/zstd:= )
-"
-DEPEND="
- ${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig
- test? (
- dev-perl/IO-String
- dev-perl/Test-Pod
- virtual/perl-Test-Harness
- )
-"
-BDEPEND="
- app-alternatives/lex
- nls? (
- app-text/po4a
- >=sys-devel/gettext-0.18.2
- )
-"
-RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.18.12-flags.patch
-)
-
-src_prepare() {
- default
-
- sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || die
-
- eautoreconf
-}
-
-src_configure() {
- tc-export AR CC
-
- local myconf=(
- --disable-compiler-warnings
- --disable-devel-docs
- --disable-dselect
- --disable-start-stop-daemon
- --enable-unicode
- --localstatedir="${EPREFIX}"/var
- $(use_enable nls)
- $(use_enable update-alternatives)
- $(use_with bzip2 libbz2)
- $(use_with lzma liblzma)
- $(use_with selinux libselinux)
- $(use_with zlib libz)
- $(use_with zstd libzstd)
- )
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- local DOCS=( debian/changelog THANKS TODO )
- default
-
- # https://bugs.gentoo.org/835520
- mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die
-
- # https://bugs.gentoo.org/840320
- insinto /etc/dpkg/origins
- newins - gentoo <<-_EOF_
- Vendor: Gentoo
- Vendor-URL: https://www.gentoo.org/
- Bugs: https://bugs.gentoo.org/
- _EOF_
- dosym gentoo /etc/dpkg/origins/default
-
- keepdir \
- /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
- /var/lib/dpkg/{alternatives,info,parts,updates}
-
- find "${ED}" -name '*.la' -delete || die
-
- if ! use static-libs; then
- find "${ED}" -name '*.a' -delete || die
- fi
-}
diff --git a/app-arch/dpkg/dpkg-1.21.19-r1.ebuild b/app-arch/dpkg/dpkg-1.22.11.ebuild
index 54dee79e2c95..67f4c5d288e7 100644
--- a/app-arch/dpkg/dpkg-1.21.19-r1.ebuild
+++ b/app-arch/dpkg/dpkg-1.22.11.ebuild
@@ -10,7 +10,7 @@ SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
-#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib +zstd"
RESTRICT="!test? ( test )"
@@ -18,9 +18,10 @@ RDEPEND="
>=app-arch/gzip-1.7
>=app-arch/tar-1.34-r1
app-crypt/libmd
- >=dev-lang/perl-5.14.2:=
+ >=dev-lang/perl-5.32.1:=
sys-libs/ncurses:=[unicode(+)]
bzip2? ( app-arch/bzip2 )
+ elibc_musl? ( sys-libs/obstack-standalone )
lzma? ( app-arch/xz-utils )
nls? ( virtual/libintl )
selinux? ( sys-libs/libselinux )
@@ -38,7 +39,7 @@ DEPEND="
)
"
BDEPEND="
- app-alternatives/lex
+ sys-devel/flex
nls? (
app-text/po4a
>=sys-devel/gettext-0.18.2
@@ -47,8 +48,8 @@ BDEPEND="
RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
PATCHES=(
- "${FILESDIR}"/${PN}-1.18.12-flags.patch
- "${FILESDIR}"/${PN}-1.21.15-arch_pm.patch
+ "${FILESDIR}"/${PN}-1.22.0-flags.patch
+ "${FILESDIR}"/${PN}-1.22.11-sq-tests.patch
)
src_prepare() {
diff --git a/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch b/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch
deleted file mode 100644
index 69802da67092..000000000000
--- a/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/scripts/Dpkg/Compression.pm
-+++ b/scripts/Dpkg/Compression.pm
-@@ -81,20 +81,12 @@
- };
-
- #
--# XXX: The gzip package in Debian at some point acquired a Debian-specific
--# --rsyncable option via a vendor patch. Which is not present in most of the
--# major distributions, dpkg downstream systems, nor gzip upstream, who have
--# stated they will most probably not accept it because people should be using
--# pigz instead.
-+# If gzip supports --rsyncable (version >=1.7 or the Debian patched variant),
-+# we use it. Sadly a non-compliant gzip will not complain about the argument
-+# when it does not understand it, so we can only print out the usage and infer
-+# --rsyncable support from that.
- #
--# This option should have never been accepted in dpkg, ever. But removing it
--# now would probably cause demands for tarring and feathering. In addition
--# we cannot use the Dpkg::Vendor logic because that would cause circular
--# module dependencies. The whole affair is pretty disgusting really.
--#
--# Check the perl Config to discern Debian and hopefully derivatives too.
--#
--if ($Config{cf_by} eq 'Debian Project') {
-+if (system("gzip --help 2>&1 | grep -q -- --rsyncable") == 0) {
- push @{$COMP->{gzip}->{comp_prog}}, '--rsyncable';
- }
-
diff --git a/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch b/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch
deleted file mode 100644
index 5124c54b43ed..000000000000
--- a/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 9a1c670b66818fc0044eaa9a95a13da553bebcd3 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Mon, 21 Nov 2022 23:09:59 -0800
-Subject: [PATCH] m4/dpkg-funcs.m4: include stdio.h in __progname conftest
-
-Bug: https://bugs.gentoo.org/869884
----
- m4/dpkg-funcs.m4 | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/m4/dpkg-funcs.m4 b/m4/dpkg-funcs.m4
-index 74acf22..0720ac3 100644
---- a/m4/dpkg-funcs.m4
-+++ b/m4/dpkg-funcs.m4
-@@ -142,6 +142,7 @@ AC_DEFUN([DPKG_CHECK_PROGNAME], [
- AC_MSG_CHECKING([for __progname])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM(
-+ [[#include <stdio.h>]],
- [[extern char *__progname;]],
- [[printf("%s", __progname);]])
- ], [
---
-2.38.1
-
diff --git a/app-arch/dpkg/files/dpkg-1.20.5-dpkg_buildpackage-test.patch b/app-arch/dpkg/files/dpkg-1.20.5-dpkg_buildpackage-test.patch
deleted file mode 100644
index 9f1494dc290c..000000000000
--- a/app-arch/dpkg/files/dpkg-1.20.5-dpkg_buildpackage-test.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/scripts/Makefile.am
-+++ b/scripts/Makefile.am
-@@ -264,7 +264,6 @@
- t/Dpkg_Dist_Files.t \
- t/dpkg_realpath.t \
- t/dpkg_source.t \
-- t/dpkg_buildpackage.t \
- t/merge_changelogs.t \
- t/mk.t \
- $(nil)
diff --git a/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch b/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch
deleted file mode 100644
index aa1570148de1..000000000000
--- a/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 58814cacee39c4ce9e2cd0e3a3b9b57ad437eff5 Mon Sep 17 00:00:00 2001
-From: Guillem Jover <guillem@debian.org>
-Date: Tue, 3 May 2022 02:09:32 +0200
-Subject: Dpkg::Source::Archive: Prevent directory traversal for in-place
- extracts
-
-For untrusted v2 and v3 source package formats that include a debian.tar
-archive, when we are extracting it, we do that as an in-place extraction,
-which can lead to directory traversal situations on specially crafted
-orig.tar and debian.tar tarballs.
-
-GNU tar replaces entries on the filesystem by the entries present on
-the tarball, but it will follow symlinks when the symlink pathname
-itself is not present as an actual directory on the tarball.
-
-This means we can create an orig.tar where there's a symlink pointing
-out of the source tree root directory, and then a debian.tar that
-contains an entry within that symlink as if it was a directory, without
-a directory entry for the symlink pathname itself, which will be
-extracted following the symlink outside the source tree root.
-
-This is currently noted as expected in GNU tar documentation. But even
-if there was a new extraction mode avoiding this problem we'd need such
-new version. Using perl's Archive::Tar would solve the problem, but
-switching to such different pure perl implementation, could cause
-compatibility or performance issues.
-
-What we do is when we are requested to perform an in-place extract, we
-instead still use a temporary directory, then walk that directory and
-remove any matching entry in the destination directory, replicating what
-GNU tar would do, but in addition avoiding the directory traversal issue
-for symlinks. Which should work with any tar implementation and be safe.
-
-Reported-by: Max Justicz <max@justi.cz>
-Stable-Candidates: 1.18.x 1.19.x 1.20.x
-Fixes: commit 0c0057a27fecccab77d2b3cffa9a7d172846f0b4 (1.14.17)
-Fixes: CVE-2022-1664
-(cherry picked from commit 7a6c03cb34d4a09f35df2f10779cbf1b70a5200b)
----
- scripts/Dpkg/Source/Archive.pm | 122 +++++++++++++++++++++++++++++++---------
- scripts/t/Dpkg_Source_Archive.t | 110 +++++++++++++++++++++++++++++++++++-
- 2 files changed, 204 insertions(+), 28 deletions(-)
-
-diff --git a/scripts/Dpkg/Source/Archive.pm b/scripts/Dpkg/Source/Archive.pm
-index 33c181b20..2ddd04af8 100644
---- a/scripts/Dpkg/Source/Archive.pm
-+++ b/scripts/Dpkg/Source/Archive.pm
-@@ -21,9 +21,11 @@ use warnings;
- our $VERSION = '0.01';
-
- use Carp;
-+use Errno qw(ENOENT);
- use File::Temp qw(tempdir);
- use File::Basename qw(basename);
- use File::Spec;
-+use File::Find;
- use Cwd;
-
- use Dpkg ();
-@@ -110,19 +112,13 @@ sub extract {
- my %spawn_opts = (wait_child => 1);
-
- # Prepare destination
-- my $tmp;
-- if ($opts{in_place}) {
-- $spawn_opts{chdir} = $dest;
-- $tmp = $dest; # So that fixperms call works
-- } else {
-- my $template = basename($self->get_filename()) . '.tmp-extract.XXXXX';
-- unless (-e $dest) {
-- # Kludge so that realpath works
-- mkdir($dest) or syserr(g_('cannot create directory %s'), $dest);
-- }
-- $tmp = tempdir($template, DIR => Cwd::realpath("$dest/.."), CLEANUP => 1);
-- $spawn_opts{chdir} = $tmp;
-+ my $template = basename($self->get_filename()) . '.tmp-extract.XXXXX';
-+ unless (-e $dest) {
-+ # Kludge so that realpath works
-+ mkdir($dest) or syserr(g_('cannot create directory %s'), $dest);
- }
-+ my $tmp = tempdir($template, DIR => Cwd::realpath("$dest/.."), CLEANUP => 1);
-+ $spawn_opts{chdir} = $tmp;
-
- # Prepare stuff that handles the input of tar
- $self->ensure_open('r', delete_sig => [ 'PIPE' ]);
-@@ -145,22 +141,94 @@ sub extract {
- # have to be calculated using mount options and other madness.
- fixperms($tmp) unless $opts{no_fixperms};
-
-- # Stop here if we extracted in-place as there's nothing to move around
-- return if $opts{in_place};
--
-- # Rename extracted directory
-- opendir(my $dir_dh, $tmp) or syserr(g_('cannot opendir %s'), $tmp);
-- my @entries = grep { $_ ne '.' && $_ ne '..' } readdir($dir_dh);
-- closedir($dir_dh);
-- my $done = 0;
-- erasedir($dest);
-- if (scalar(@entries) == 1 && ! -l "$tmp/$entries[0]" && -d _) {
-- rename("$tmp/$entries[0]", $dest)
-- or syserr(g_('unable to rename %s to %s'),
-- "$tmp/$entries[0]", $dest);
-+ # If we are extracting "in-place" do not remove the destination directory.
-+ if ($opts{in_place}) {
-+ my $canon_basedir = Cwd::realpath($dest);
-+ # On Solaris /dev/null points to /devices/pseudo/mm@0:null.
-+ my $canon_devnull = Cwd::realpath('/dev/null');
-+ my $check_symlink = sub {
-+ my $pathname = shift;
-+ my $canon_pathname = Cwd::realpath($pathname);
-+ if (not defined $canon_pathname) {
-+ return if $! == ENOENT;
-+
-+ syserr(g_("pathname '%s' cannot be canonicalized"), $pathname);
-+ }
-+ return if $canon_pathname eq $canon_devnull;
-+ return if $canon_pathname eq $canon_basedir;
-+ return if $canon_pathname =~ m{^\Q$canon_basedir/\E};
-+ warning(g_("pathname '%s' points outside source root (to '%s')"),
-+ $pathname, $canon_pathname);
-+ };
-+
-+ my $move_in_place = sub {
-+ my $relpath = File::Spec->abs2rel($File::Find::name, $tmp);
-+ my $destpath = File::Spec->catfile($dest, $relpath);
-+
-+ my ($mode, $atime, $mtime);
-+ lstat $File::Find::name
-+ or syserr(g_('cannot get source pathname %s metadata'), $File::Find::name);
-+ ((undef) x 2, $mode, (undef) x 5, $atime, $mtime) = lstat _;
-+ my $src_is_dir = -d _;
-+
-+ my $dest_exists = 1;
-+ if (not lstat $destpath) {
-+ if ($! == ENOENT) {
-+ $dest_exists = 0;
-+ } else {
-+ syserr(g_('cannot get target pathname %s metadata'), $destpath);
-+ }
-+ }
-+ my $dest_is_dir = -d _;
-+ if ($dest_exists) {
-+ if ($dest_is_dir && $src_is_dir) {
-+ # Refresh the destination directory attributes with the
-+ # ones from the tarball.
-+ chmod $mode, $destpath
-+ or syserr(g_('cannot change directory %s mode'), $File::Find::name);
-+ utime $atime, $mtime, $destpath
-+ or syserr(g_('cannot change directory %s times'), $File::Find::name);
-+
-+ # We should do nothing, and just walk further tree.
-+ return;
-+ } elsif ($dest_is_dir) {
-+ rmdir $destpath
-+ or syserr(g_('cannot remove destination directory %s'), $destpath);
-+ } else {
-+ $check_symlink->($destpath);
-+ unlink $destpath
-+ or syserr(g_('cannot remove destination file %s'), $destpath);
-+ }
-+ }
-+ # If we are moving a directory, we do not need to walk it.
-+ if ($src_is_dir) {
-+ $File::Find::prune = 1;
-+ }
-+ rename $File::Find::name, $destpath
-+ or syserr(g_('cannot move %s to %s'), $File::Find::name, $destpath);
-+ };
-+
-+ find({
-+ wanted => $move_in_place,
-+ no_chdir => 1,
-+ dangling_symlinks => 0,
-+ }, $tmp);
- } else {
-- rename($tmp, $dest)
-- or syserr(g_('unable to rename %s to %s'), $tmp, $dest);
-+ # Rename extracted directory
-+ opendir(my $dir_dh, $tmp) or syserr(g_('cannot opendir %s'), $tmp);
-+ my @entries = grep { $_ ne '.' && $_ ne '..' } readdir($dir_dh);
-+ closedir($dir_dh);
-+
-+ erasedir($dest);
-+
-+ if (scalar(@entries) == 1 && ! -l "$tmp/$entries[0]" && -d _) {
-+ rename("$tmp/$entries[0]", $dest)
-+ or syserr(g_('unable to rename %s to %s'),
-+ "$tmp/$entries[0]", $dest);
-+ } else {
-+ rename($tmp, $dest)
-+ or syserr(g_('unable to rename %s to %s'), $tmp, $dest);
-+ }
- }
- erasedir($tmp);
- }
-diff --git a/scripts/t/Dpkg_Source_Archive.t b/scripts/t/Dpkg_Source_Archive.t
-index 7b70da68e..504fbe1d4 100644
---- a/scripts/t/Dpkg_Source_Archive.t
-+++ b/scripts/t/Dpkg_Source_Archive.t
-@@ -16,12 +16,120 @@
- use strict;
- use warnings;
-
--use Test::More tests => 1;
-+use Test::More tests => 4;
-+use Test::Dpkg qw(:paths);
-+
-+use File::Spec;
-+use File::Path qw(make_path rmtree);
-
- BEGIN {
- use_ok('Dpkg::Source::Archive');
- }
-
-+use Dpkg;
-+
-+my $tmpdir = test_get_temp_path();
-+
-+rmtree($tmpdir);
-+
-+sub test_touch
-+{
-+ my ($name, $data) = @_;
-+
-+ open my $fh, '>', $name
-+ or die "cannot touch file $name\n";
-+ print { $fh } $data if $data;
-+ close $fh;
-+}
-+
-+sub test_path_escape
-+{
-+ my $name = shift;
-+
-+ my $treedir = File::Spec->rel2abs("$tmpdir/$name-tree");
-+ my $overdir = File::Spec->rel2abs("$tmpdir/$name-overlay");
-+ my $outdir = "$tmpdir/$name-out";
-+ my $expdir = "$tmpdir/$name-exp";
-+
-+ # This is the base directory, where we are going to be extracting stuff
-+ # into, which include traps.
-+ make_path("$treedir/subdir-a");
-+ test_touch("$treedir/subdir-a/file-a");
-+ test_touch("$treedir/subdir-a/file-pre-a");
-+ make_path("$treedir/subdir-b");
-+ test_touch("$treedir/subdir-b/file-b");
-+ test_touch("$treedir/subdir-b/file-pre-b");
-+ symlink File::Spec->abs2rel($outdir, $treedir), "$treedir/symlink-escape";
-+ symlink File::Spec->abs2rel("$outdir/nonexistent", $treedir), "$treedir/symlink-nonexistent";
-+ symlink "$treedir/file", "$treedir/symlink-within";
-+ test_touch("$treedir/supposed-dir");
-+
-+ # This is the overlay directory, which we'll pack and extract over the
-+ # base directory.
-+ make_path($overdir);
-+ make_path("$overdir/subdir-a/aa");
-+ test_touch("$overdir/subdir-a/aa/file-aa", 'aa');
-+ test_touch("$overdir/subdir-a/file-a", 'a');
-+ make_path("$overdir/subdir-b/bb");
-+ test_touch("$overdir/subdir-b/bb/file-bb", 'bb');
-+ test_touch("$overdir/subdir-b/file-b", 'b');
-+ make_path("$overdir/symlink-escape");
-+ test_touch("$overdir/symlink-escape/escaped-file", 'escaped');
-+ test_touch("$overdir/symlink-nonexistent", 'nonexistent');
-+ make_path("$overdir/symlink-within");
-+ make_path("$overdir/supposed-dir");
-+ test_touch("$overdir/supposed-dir/supposed-file", 'something');
-+
-+ # Generate overlay tar.
-+ system($Dpkg::PROGTAR, '-cf', "$overdir.tar", '-C', $overdir, qw(
-+ subdir-a subdir-b
-+ symlink-escape/escaped-file symlink-nonexistent symlink-within
-+ supposed-dir
-+ )) == 0
-+ or die "cannot create overlay tar archive\n";
-+
-+ # This is the expected directory, which we'll be comparing against.
-+ make_path($expdir);
-+ system('cp', '-a', $overdir, $expdir) == 0
-+ or die "cannot copy overlay hierarchy into expected directory\n";
-+
-+ # Store the expected and out reference directories into a tar to compare
-+ # its structure against the result reference.
-+ system($Dpkg::PROGTAR, '-cf', "$expdir.tar", '-C', $overdir, qw(
-+ subdir-a subdir-b
-+ symlink-escape/escaped-file symlink-nonexistent symlink-within
-+ supposed-dir
-+ ), '-C', $treedir, qw(
-+ subdir-a/file-pre-a
-+ subdir-b/file-pre-b
-+ )) == 0
-+ or die "cannot create expected tar archive\n";
-+
-+ # This directory is supposed to remain empty, anything inside implies a
-+ # directory traversal.
-+ make_path($outdir);
-+
-+ my $warnseen;
-+ local $SIG{__WARN__} = sub { $warnseen = $_[0] };
-+
-+ # Perform the extraction.
-+ my $tar = Dpkg::Source::Archive->new(filename => "$overdir.tar");
-+ $tar->extract($treedir, in_place => 1);
-+
-+ # Store the result into a tar to compare its structure against a reference.
-+ system($Dpkg::PROGTAR, '-cf', "$treedir.tar", '-C', $treedir, '.');
-+
-+ # Check results
-+ ok(length $warnseen && $warnseen =~ m/points outside source root/,
-+ 'expected warning seen');
-+ ok(system($Dpkg::PROGTAR, '--compare', '-f', "$expdir.tar", '-C', $treedir) == 0,
-+ 'expected directory matches');
-+ ok(! -e "$outdir/escaped-file",
-+ 'expected output directory is empty, directory traversal');
-+}
-+
-+test_path_escape('in-place');
-+
- # TODO: Add actual test cases.
-
- 1;
---
-cgit v1.2.3
-
diff --git a/app-arch/dpkg/files/dpkg-1.22.0-flags.patch b/app-arch/dpkg/files/dpkg-1.22.0-flags.patch
new file mode 100644
index 000000000000..fb208d1131af
--- /dev/null
+++ b/app-arch/dpkg/files/dpkg-1.22.0-flags.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -222,8 +222,6 @@ AC_DEFINE([LIBDPKG_VOLATILE_API], [1], [Acknowledge the volatility of the API.])
+ DPKG_COMPILER_WARNINGS
+ DPKG_COMPILER_SANITIZER
+ DPKG_COMPILER_ANALYZER
+-DPKG_COMPILER_OPTIMIZATIONS
+-DPKG_LINKER_OPTIMIZATIONS
+ DPKG_ARCHITECTURE
+ AC_DEFINE([PACKAGE_RELEASE], [PACKAGE_VERSION " (" ARCHITECTURE ")"],
+ [Define the project release information, version and architecture])
diff --git a/app-arch/dpkg/files/dpkg-1.22.11-sq-tests.patch b/app-arch/dpkg/files/dpkg-1.22.11-sq-tests.patch
new file mode 100644
index 000000000000..51df67ce1ca0
--- /dev/null
+++ b/app-arch/dpkg/files/dpkg-1.22.11-sq-tests.patch
@@ -0,0 +1,63 @@
+https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=fc7bda93992086e01b62d08fa5ca2b70a69b62aa
+
+From fc7bda93992086e01b62d08fa5ca2b70a69b62aa Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@debian.org>
+Date: Tue, 3 Dec 2024 02:40:48 +0100
+Subject: Dpkg::OpenPGP::Backend::Sequoia: Adapt to new CLI 0.40.0 API
+
+As the API is not yet stable (but it is getting closer to be), we
+need to adapt it to the current version.
+---
+ scripts/Dpkg/OpenPGP/Backend/Sequoia.pm | 11 ++++++-----
+ 2 files changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/scripts/Dpkg/OpenPGP/Backend/Sequoia.pm b/scripts/Dpkg/OpenPGP/Backend/Sequoia.pm
+index 36801c9f5..82c64591c 100644
+--- a/scripts/Dpkg/OpenPGP/Backend/Sequoia.pm
++++ b/scripts/Dpkg/OpenPGP/Backend/Sequoia.pm
+@@ -69,7 +69,7 @@ sub armor
+ return OPENPGP_MISSING_CMD unless $self->{cmd};
+
+ # We ignore the $type, and let "sq" handle this automatically.
+- my $rc = $self->_sq_exec(qw(toolbox armor --output), $out, $in);
++ my $rc = $self->_sq_exec(qw(packet armor --output), $out, $in);
+ return OPENPGP_BAD_DATA if $rc;
+ return OPENPGP_OK;
+ }
+@@ -81,7 +81,7 @@ sub dearmor
+ return OPENPGP_MISSING_CMD unless $self->{cmd};
+
+ # We ignore the $type, and let "sq" handle this automatically.
+- my $rc = $self->_sq_exec(qw(toolbox dearmor --output), $out, $in);
++ my $rc = $self->_sq_exec(qw(packet dearmor --output), $out, $in);
+ return OPENPGP_BAD_DATA if $rc;
+ return OPENPGP_OK;
+ }
+@@ -93,6 +93,7 @@ sub inline_verify
+ return OPENPGP_MISSING_CMD unless $self->{cmd};
+
+ my @opts;
++ push @opts, '--cleartext';
+ push @opts, map { ('--signer-file', $_) } @certs;
+ push @opts, '--output', $data if defined $data;
+
+@@ -109,7 +110,7 @@ sub verify
+
+ my @opts;
+ push @opts, map { ('--signer-file', $_) } @certs;
+- push @opts, '--detached', $sig;
++ push @opts, '--signature-file', $sig;
+
+ my $rc = $self->_sq_exec(qw(verify), @opts, $data);
+ return OPENPGP_NO_SIG if $rc;
+@@ -124,7 +125,7 @@ sub inline_sign
+ return OPENPGP_NEEDS_KEYSTORE if $key->needs_keystore();
+
+ my @opts;
+- push @opts, '--cleartext-signature';
++ push @opts, '--cleartext';
+ push @opts, '--signer-file', $key->handle;
+ push @opts, '--output', $inlinesigned;
+
+--
+cgit v1.2.3
diff --git a/app-arch/dpkg/metadata.xml b/app-arch/dpkg/metadata.xml
index 9511a3ee6146..b33cda089f2a 100644
--- a/app-arch/dpkg/metadata.xml
+++ b/app-arch/dpkg/metadata.xml
@@ -3,7 +3,6 @@
<pkgmetadata>
<!-- maintainer-needed -->
<use>
- <flag name="libmd">Use <pkg>app-crypt/libmd</pkg> library for message digest functions</flag>
<flag name="update-alternatives">Install update-alternatives</flag>
</use>
</pkgmetadata>
diff --git a/app-arch/libdeflate/Manifest b/app-arch/libdeflate/Manifest
index d969afa44dce..ac7153349def 100644
--- a/app-arch/libdeflate/Manifest
+++ b/app-arch/libdeflate/Manifest
@@ -1,9 +1,7 @@
AUX libdeflate-1.19-make-gzip-tests-conditional.patch 1376 BLAKE2B 9480aed1f1a316899e844f99af988560cd5f07ff98336dbaef63a350ab9a7a76c75c4bf6d8e3709c0e99719dfcd0d3216976a9daab89e2c1277b4a20f036d074 SHA512 469698465c70804b356e628290cc50def2f6281262521b53794f5682c738f9245ec47a36877ebb506e0d070f21fd781478039c32a764d35ffd860ec98b34a30b
-DIST libdeflate-1.19.tar.gz 187684 BLAKE2B 6d3c58b4095f91f64c25e09a062f1d7e68cd43b4dffc2de6484cd941ede4bffd8a82dd3af08eda6c94ad4120d40809c1d6a1814c28bad5387dfbaad418b93070 SHA512 fe57542a0d28ad61d70bef9b544bb6805f9f30930b16432712b3b1caab041f1f4e64315a4306a0635b96c2632239c5af0e45a3915581d0b89975729fc2e95613
-DIST libdeflate-1.20.tar.gz 194212 BLAKE2B b3633f1068f36bf346e1f435c67259612ad5ed1571e83f1bbc4a58c6a67b3eadca85e0abb2d2d47f180dd2ff01c5891c8b3958a63ddbcc2447106f2e5cb3c0fe SHA512 5ebe6af9ce81872cba508d1f0aa087ddeb0e0f0c8e6360da66b8a9db2a76203dafbf3d3f6b3b791618ea9c6d0231fab5b4a55badb31a4480fb4174b9445c658b
DIST libdeflate-1.21.tar.gz 195361 BLAKE2B 8d1f2a71cb6a0823ab93631720f9807a6907f1d92490bb258b9bfcf9daf08b517eab3bdee064326a4274d7b193cffbafa24037e2be2503c17fa8daddef5cfff5 SHA512 7cd9bc91992ef824a0fdf175b0da081b8381decc325013477a3fbfcfe6cf240f66cedbeec830a51343fedb8c27c76fba8782c1aed3fc538e3afd6c9f8cdc90fb
-EBUILD libdeflate-1.19-r1.ebuild 1243 BLAKE2B c00431500ae37d9ce484784ea042e819ff997d23d63c3a2ad136f91be4c40e8e92c54a17b5ef09a1eeafe6a90ef232310e11dd5919f093a3545f5562076d4b4d SHA512 43dd01329736487ed4777290a142eb71d6ab70ec2f22f0b0311accac1b98a3fc97f5ca9657dd4cc8548df8d9203b83e5b6baf172b5a0d35202ceaafc5029ab4a
-EBUILD libdeflate-1.20-r1.ebuild 1294 BLAKE2B 250c4adc569764c4fb38443794103228498299c751912c20735fb72c39a6552492683a9a825535ab7681b509b71b6d830dfa35576d9064f4ba6c48349494087b SHA512 e22adbc6e3cc0b7030ef3eac3d0c391a87f66663161c8f302a84e00b62d5f56c6610cc1c64eefbff2944efb31480d418acce59c3b69b65cc2d99ce0107ad5b06
+DIST libdeflate-1.23.tar.gz 197519 BLAKE2B 6921aaf0fde3a2c1a8b04484879c64c2da2ee499353927fa20e8816932a4ccdc53af302f978eb099ee01f1a4c2ac5184529886d1c2a7adcb388ddd9fbd2b078f SHA512 c1effb9c5ee8d65bc12ae3d0669a4a394acace13cc146300ed24a7f12a0ec058f66729e1ffbae268711bdcc4151143752ab2d56a099dd6394b2735e8e2f1b671
EBUILD libdeflate-1.21.ebuild 1293 BLAKE2B d992c63d6b7a460bc2a18350ef2db232e3ff487ef15d6965907f1e3981b7e1b2ff8a61be0391962da123b656654c26fcc22fa97bac19a1e761474259ba01f40a SHA512 b056e0d5958b064122e5698a0adf04b46b43083821b7d8b79fd75c08f10453bbe38f71a6b63cb107e810461ccc6302079ac1930d9efc3f6c8d0edf3ef6a66d96
+EBUILD libdeflate-1.23.ebuild 1300 BLAKE2B 82d3c49f6c8d2bdb60a1b76ae6055a3a232e9195c6b12ee2def6c6621053b30d0dee1c50dc96f786d95721535c3d259aed6aa68416ea5efa0e3637b1d3725bb4 SHA512 5b9a6c9a5ee96f5c08126e4674bea2761d512ea3495ffe832dc172f5ef1ffd58836024002d73ec3b93986350bcb0c98e6c38fc6e4b9ca026b285f2daf78625b2
EBUILD libdeflate-9999.ebuild 1294 BLAKE2B 250c4adc569764c4fb38443794103228498299c751912c20735fb72c39a6552492683a9a825535ab7681b509b71b6d830dfa35576d9064f4ba6c48349494087b SHA512 e22adbc6e3cc0b7030ef3eac3d0c391a87f66663161c8f302a84e00b62d5f56c6610cc1c64eefbff2944efb31480d418acce59c3b69b65cc2d99ce0107ad5b06
MISC metadata.xml 677 BLAKE2B ef9eee70214885dc6195ac1d8a8396c2022ab40e3bf35765ec58f1bc78b771973d0ea304aee25d625b7fe938f709cc1b4fe195f4f7e3ccc22ad2b197a8056f01 SHA512 812274509ca55d81b117ca61ed175ed3dcc3d83fa1bf6ee3fc5a72fbd4833e1be0f9789cefcebc206b3f9171f25c06df370f20446a4300a3d0040f8efde8ab60
diff --git a/app-arch/libdeflate/libdeflate-1.19-r1.ebuild b/app-arch/libdeflate/libdeflate-1.19-r1.ebuild
deleted file mode 100644
index aec8d7dcab4d..000000000000
--- a/app-arch/libdeflate/libdeflate-1.19-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2019-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Heavily optimized DEFLATE/zlib/gzip (de)compression"
-HOMEPAGE="https://github.com/ebiggers/libdeflate"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ebiggers/libdeflate.git"
-else
- SRC_URI="https://github.com/ebiggers/libdeflate/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-# the zlib USE-flag enables support for zlib
-# the test USE-flag programs depend on sys-libs/zlib for comparison tests
-IUSE="+utils test"
-
-RESTRICT="
- !test? ( test )
-"
-
-DEPEND="
- test? ( sys-libs/zlib )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.19-make-gzip-tests-conditional.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DLIBDEFLATE_BUILD_SHARED_LIB="yes"
- -DLIBDEFLATE_BUILD_STATIC_LIB="no"
- -DLIBDEFLATE_USE_SHARED_LIB="yes"
-
- -DLIBDEFLATE_COMPRESSION_SUPPORT="yes"
- -DLIBDEFLATE_DECOMPRESSION_SUPPORT="yes"
-
- -DLIBDEFLATE_BUILD_GZIP="$(usex utils)"
- -DLIBDEFLATE_GZIP_SUPPORT="yes"
-
- -DLIBDEFLATE_ZLIB_SUPPORT="yes"
-
- -DLIBDEFLATE_BUILD_TESTS="$(usex test)"
- )
-
- cmake_src_configure
-}
diff --git a/app-arch/libdeflate/libdeflate-1.20-r1.ebuild b/app-arch/libdeflate/libdeflate-1.23.ebuild
index 5fe78e961178..d44e68b21d11 100644
--- a/app-arch/libdeflate/libdeflate-1.20-r1.ebuild
+++ b/app-arch/libdeflate/libdeflate-1.23.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/ebiggers/libdeflate.git"
else
SRC_URI="https://github.com/ebiggers/libdeflate/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="MIT"
diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest
index c5d77aa6e0a6..dc775254d65b 100644
--- a/app-arch/p7zip/Manifest
+++ b/app-arch/p7zip/Manifest
@@ -4,10 +4,12 @@ AUX CVE-2018-10115.patch 8946 BLAKE2B 21fc8367ec1c811119bd43b5ca8ac1399748d4fe0c
AUX CVE-2018-5996.patch 6427 BLAKE2B a60d4c51470d9a1ee58afc4ced5190dc589c78604dfd8cefdb5f4caca74d73f175722f777c4c13839951178b394c44b69577c8b5125f45581890dfaf1325d47d SHA512 7962a03430b94aec7c93d6dabee340f4f5915d728ba4df0dcaae483ab9c29115818e5e944572a3fd910addad8799c6a1e3911f6a0a02b661f804eea11c3a0f40
AUX WimHandler.cpp.patch 413 BLAKE2B 06e1ef38fbb8ae11f9c28df68c7e15db52060974930f61bdd5a04d970bc71f724a5122b05ad24b0e89d6b2142f54762ce4b6467d25345fca89075d6626abf9b3 SHA512 c246a7d912ec965b5212a510893aa1c9bd47b66b8f0fb47c03d46e5f3f891e2134cb8733594fd84f7e6034ebf07a9aac633230e2a0eebfb476f6429469058a75
AUX p7zip-16.02-darwin.patch 2134 BLAKE2B f8890b8b3e0a3ade007f162e5d3b7fdc9925e8960c6e22463a5ebc474e4ebb2577f0cc0312fda6c129bd1a02dc3ac6d3de17f2c551ee710ab36d0658acfaec52 SHA512 ed8689e39e5bd55eb9cc74c02c94782ac893fc30079492dbde459f24d07037ca63c91526ea428934814febbfbcd1f80c0683cd40d48eab055a3f856b1d78fb37
+AUX p7zip-17.05-localization.patch 12265 BLAKE2B 03c7c10e4126e449b916b831a5f8dc03a2e3758c9d8ccb06d68a637c089ba6b2d8463cdfe9eca711be42dad358e3f6010948bc37082dc1d54377ef61984236c3 SHA512 35fbf222ae4c29139ebaf3ba135c82c9dabf57a2443481e3eef23af0d32a85a0cbe4787d57eaf98fdf15bb8362e447ae90d028af34886adcbbeaa4fae5ecd604
AUX p7zip-17.05-natspec.patch 5172 BLAKE2B 03a2895b5f30ab373ea8b3a358dcdcdefe0cbde35bd643da088c4142fe0e64dd20b536d1226bebcf63cabab9bcb88a183d6f3c444a426c7289e4729971e13b2d SHA512 c567e503124d23d1656bf02d315f910bce5bf18fce59ef5568e93cd2e6a1d93a0ce9f6af29920b91737223ea2b8c758f082f2b7515eec6a9c8979de487dd0d66
AUX p7zip-17.05-unit64.patch 470 BLAKE2B 63969d319e3fcc624dc0b0b4b5580887d23259da71727f0b5272edb4834c01ac6bcd791f31e8eb3832f066d04098c647554aed74953f71f7d90c6ed5470b3582 SHA512 eb5fc888dfd0d484a886c2a78ea4bb95ca100e14032603c68ed0dd2d6617754e45b5e466419536941b1d015dbcd931fe2a740b4c12950222c7afabdd82c0dc03
DIST p7zip-17.05.tar.gz 6722154 BLAKE2B 0bcba638d3acaf2aa270e02693ad4295dfcc6b388037bdb446e25f3f4e1cb34f1b05bbc9a845364ca770625c32b2d7f55f63f504ad8e0863fff4bf940ae1fddd SHA512 97a7cfd15287998eb049c320548477be496c4ddf6b45c833c42adca4ab88719b07a442ae2e71cf2dc3b30a0777a3acab0a1a30f01fd85bacffa3fa9bd22c3f7d
DIST p7zip_16.02_src_all.tar.bz2 4239909 BLAKE2B 075356fba5284cbb124e30c36364a910ae5a7ac6bee8a8fb682c5a7ce2f1870ef83d3160c84f8dabad1d616c13d642cba1f19fb9384160d21590cf678dd8f1a6 SHA512 d2c4d53817f96bb4c7683f42045198d4cd509cfc9c3e2cb85c8d9dc4ab6dfa7496449edeac4e300ecf986a9cbbc90bd8f8feef8156895d94617c04e507add55f
EBUILD p7zip-16.02-r8.ebuild 4084 BLAKE2B 751bd46aafa907e01442c53a81e599c1877be619ad7b99ba3bc30a6af8a184e6d346f7d466b0b5c42bfbb25345263ef9057e13b0785b361498a0ff86ab2f906a SHA512 6984a246c1f55b36a5345f37945bb8930d3b6c7f6fe717d26d4bc81ecaa0ecaedd667ad277651ee01f941d9e512df94f8d89161ea7a29805667fcb357b716e2d
EBUILD p7zip-17.05-r1.ebuild 3170 BLAKE2B 0eb02445b86b76b7bf587a1966675c7de5d2d28ef7b398a770fe2e153af566c2a49313c98b7e6033a31d1a948b8eb5ac14756c1e3bcaaebd32dfecd98eb96fc6 SHA512 50f57303a2a129ac5a51e619f5049a4d2f5c4c292e5e2757620e35eeb98bceb8cf7ce1b086db7edf9223e14b00e2f262492880a6a2d9ccc031c5005d8450f3c4
+EBUILD p7zip-17.05-r2.ebuild 3229 BLAKE2B c213e368fe05f25f0a70d8fe30060bc60bd6a075b89049ace922c492129d81fbf4128d3111852da0698f3eca7eb7f33f7918c5d571ad47fd72c382fd55b0fb8a SHA512 b5df8b9db195eaf95d441f9eac5f49a07157106f55328682bece638fbb70d8d8445debed435401c47782ae1b7957a5796deec13f721e56b44a4266ee525a6f94
MISC metadata.xml 532 BLAKE2B 9ffdc29d8d8f6a82e7a55f4448870a4dd019468a440ade6df10ad1336617d14c1d975a7db032fce3397358132cee15bb317c9bed554de57e8f3ecbb284931a32 SHA512 807a53919ad3b19c280be0033ae264d89ad438b9d51763c7a27be3576ca496af9966d2f62594a707a1242c0b813298b01da6c2a55469af777e47944a80b00f25
diff --git a/app-arch/p7zip/files/p7zip-17.05-localization.patch b/app-arch/p7zip/files/p7zip-17.05-localization.patch
new file mode 100644
index 000000000000..971a0d4eb8bb
--- /dev/null
+++ b/app-arch/p7zip/files/p7zip-17.05-localization.patch
@@ -0,0 +1,234 @@
+From afec5e119df1f0706df619b6151b709945de4f43 Mon Sep 17 00:00:00 2001
+From: Ivan Sorokin <unxed@mail.ru>
+Date: Wed, 22 May 2024 09:38:23 +0200
+Subject: [PATCH] apply #232 to p7zip17 also
+
+---
+ CPP/7zip/Archive/Zip/ZipItem.cpp | 205 +++++++++++++++++++++----------
+ 1 file changed, 137 insertions(+), 68 deletions(-)
+
+diff --git a/CPP/7zip/Archive/Zip/ZipItem.cpp b/CPP/7zip/Archive/Zip/ZipItem.cpp
+index 353e89559..d3133c59d 100644
+--- a/CPP/7zip/Archive/Zip/ZipItem.cpp
++++ b/CPP/7zip/Archive/Zip/ZipItem.cpp
+@@ -356,83 +356,152 @@ void CItem::GetUnicodeString(UString &res, const AString &s, bool isComment, boo
+ }
+
+ #if (!defined _WIN32) && (!defined __CYGWIN__) && (!defined __APPLE__)
++
+ // Convert OEM char set to UTF-8 if needed
+ // Use system locale to select code page
+
+- Byte hostOS = GetHostOS();
+- if (!isUtf8 && ((hostOS == NFileHeader::NHostOS::kFAT) || (hostOS == NFileHeader::NHostOS::kNTFS))) {
+-
+- const char *oemcp;
+- oemcp = getenv("OEMCP");
+- if (!oemcp) {
+- oemcp = "CP437\0"; // CP name is 6 chars max
+-
+- const char *lc_to_cp_table[] = {
+- "af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720",
+- "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720",
+- "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720",
+- "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720",
+- "ar_YE", "CP720","ast_ES", "CP850", "az_AZ", "CP866", "az_AZ", "CP857",
+- "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850",
+- "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852",
+- "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850",
+- "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737",
+- "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850",
+- "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437",
+- "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850",
+- "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850",
+- "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850",
+- "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850",
+- "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850",
+- "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850",
+- "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850",
+- "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850",
+- "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437",
+- "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862",
+- "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850",
+- "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932",
+- "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775",
+- "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850",
+- "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850",
+- "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850",
+- "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866",
+- "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS", "CP855",
+- "sr_RS", "CP852", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437",
+- "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866",
+- "ur_PK", "CP720", "uz_UZ", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258",
+- "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936"};
+- int table_len = sizeof(lc_to_cp_table) / sizeof(char *);
+- int lc_len, i;
+-
+- char *lc = setlocale(LC_CTYPE, "");
+-
+- if (lc && lc[0]) {
+- // Compare up to the dot, if it exists, e.g. en_US.UTF-8
+- for (lc_len = 0; lc[lc_len] != '.' && lc[lc_len] != '\0'; ++lc_len)
+- ;
+- for (i = 0; i < table_len; i += 2)
+- if (strncmp(lc, lc_to_cp_table[i], lc_len) == 0)
+- oemcp = lc_to_cp_table[i + 1];
+- }
++ // locale -> code page translation tables generated from Wine source code
++
++ const char *lcToOemTable[] = {
++ "af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720",
++ "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720",
++ "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720",
++ "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720",
++ "ar_YE", "CP720", "ast_ES", "CP850", "az_AZ", "CP866", "az_AZ", "CP857",
++ "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850",
++ "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852",
++ "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850",
++ "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737",
++ "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850",
++ "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437",
++ "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850",
++ "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850",
++ "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850",
++ "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850",
++ "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850",
++ "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850",
++ "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850",
++ "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850",
++ "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437",
++ "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862",
++ "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850",
++ "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932",
++ "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775",
++ "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850",
++ "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850",
++ "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850",
++ "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866",
++ "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS", "CP855",
++ "sr_RS", "CP852", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437",
++ "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866",
++ "ur_PK", "CP720", "uz_UZ", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258",
++ "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936"};
++
++ const char *lcToAnsiTable[] = {
++ "af_ZA", "CP1252", "ar_SA", "CP1256", "ar_LB", "CP1256", "ar_EG", "CP1256",
++ "ar_DZ", "CP1256", "ar_BH", "CP1256", "ar_IQ", "CP1256", "ar_JO", "CP1256",
++ "ar_KW", "CP1256", "ar_LY", "CP1256", "ar_MA", "CP1256", "ar_OM", "CP1256",
++ "ar_QA", "CP1256", "ar_SY", "CP1256", "ar_TN", "CP1256", "ar_AE", "CP1256",
++ "ar_YE", "CP1256","ast_ES", "CP1252", "az_AZ", "CP1251", "az_AZ", "CP1254",
++ "be_BY", "CP1251", "bg_BG", "CP1251", "br_FR", "CP1252", "ca_ES", "CP1252",
++ "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP1252", "cs_CZ", "CP1250",
++ "cy_GB", "CP1252", "da_DK", "CP1252", "de_AT", "CP1252", "de_LI", "CP1252",
++ "de_LU", "CP1252", "de_CH", "CP1252", "de_DE", "CP1252", "el_GR", "CP1253",
++ "en_AU", "CP1252", "en_CA", "CP1252", "en_GB", "CP1252", "en_IE", "CP1252",
++ "en_JM", "CP1252", "en_BZ", "CP1252", "en_PH", "CP1252", "en_ZA", "CP1252",
++ "en_TT", "CP1252", "en_US", "CP1252", "en_ZW", "CP1252", "en_NZ", "CP1252",
++ "es_PA", "CP1252", "es_BO", "CP1252", "es_CR", "CP1252", "es_DO", "CP1252",
++ "es_SV", "CP1252", "es_EC", "CP1252", "es_GT", "CP1252", "es_HN", "CP1252",
++ "es_NI", "CP1252", "es_CL", "CP1252", "es_MX", "CP1252", "es_ES", "CP1252",
++ "es_CO", "CP1252", "es_ES", "CP1252", "es_PE", "CP1252", "es_AR", "CP1252",
++ "es_PR", "CP1252", "es_VE", "CP1252", "es_UY", "CP1252", "es_PY", "CP1252",
++ "et_EE", "CP1257", "eu_ES", "CP1252", "fa_IR", "CP1256", "fi_FI", "CP1252",
++ "fo_FO", "CP1252", "fr_FR", "CP1252", "fr_BE", "CP1252", "fr_CA", "CP1252",
++ "fr_LU", "CP1252", "fr_MC", "CP1252", "fr_CH", "CP1252", "ga_IE", "CP1252",
++ "gd_GB", "CP1252", "gv_IM", "CP1252", "gl_ES", "CP1252", "he_IL", "CP1255",
++ "hr_HR", "CP1250", "hu_HU", "CP1250", "id_ID", "CP1252", "is_IS", "CP1252",
++ "it_IT", "CP1252", "it_CH", "CP1252", "iv_IV", "CP1252", "ja_JP", "CP932",
++ "kk_KZ", "CP1251", "ko_KR", "CP949", "ky_KG", "CP1251", "lt_LT", "CP1257",
++ "lv_LV", "CP1257", "mk_MK", "CP1251", "mn_MN", "CP1251", "ms_BN", "CP1252",
++ "ms_MY", "CP1252", "nl_BE", "CP1252", "nl_NL", "CP1252", "nl_SR", "CP1252",
++ "nn_NO", "CP1252", "nb_NO", "CP1252", "pl_PL", "CP1250", "pt_BR", "CP1252",
++ "pt_PT", "CP1252", "rm_CH", "CP1252", "ro_RO", "CP1250", "ru_RU", "CP1251",
++ "sk_SK", "CP1250", "sl_SI", "CP1250", "sq_AL", "CP1250", "sr_RS", "CP1251",
++ "sr_RS", "CP1250", "sv_SE", "CP1252", "sv_FI", "CP1252", "sw_KE", "CP1252",
++ "th_TH", "CP874", "tr_TR", "CP1254", "tt_RU", "CP1251", "uk_UA", "CP1251",
++ "ur_PK", "CP1256", "uz_UZ", "CP1251", "uz_UZ", "CP1254", "vi_VN", "CP1258",
++ "wa_BE", "CP1252", "zh_HK", "CP950", "zh_SG", "CP936"};
++
++ bool isAnsi = false;
++ bool isOem = false;
++
++ if (!isUtf8 &&
++ MadeByVersion.HostOS == NFileHeader::NHostOS::kNTFS &&
++ MadeByVersion.Version >= 20) {
++ isAnsi = true;
++ } else if (!isUtf8 &&
++ (MadeByVersion.HostOS == NFileHeader::NHostOS::kNTFS ||
++ MadeByVersion.HostOS == NFileHeader::NHostOS::kFAT)) {
++ isOem = true;
++ }
++
++ if (isOem || isAnsi) {
++
++ const char *legacyCp = nullptr;
++ int tableLen = sizeof(isOem ? lcToOemTable : lcToAnsiTable) / sizeof(char *);
++ int lcLen = 0, i;
++
++ // Detect required code page name from current locale
++ char *lc = setlocale(LC_CTYPE, "");
++
++ if (lc && lc[0]) {
++ // Compare up to the dot, if it exists, e.g. en_US.UTF-8
++ for (lcLen = 0; lc[lcLen] != '.' && lc[lcLen] != ':' && lc[lcLen] != '\0'; ++lcLen);
++
++ for (i = 0; i < tableLen; i += 2)
++ if (strncmp(lc, (isOem ? lcToOemTable[i] : lcToAnsiTable[i]), lcLen) == 0) {
++ legacyCp = isOem ? lcToOemTable[i + 1] : lcToAnsiTable[i + 1];
++ break; // Stop searching once a match is found
++ }
+ }
+
+- iconv_t cd;
+- if ((cd = iconv_open("UTF-8", oemcp)) != (iconv_t)-1) {
++ if (legacyCp) {
++ iconv_t cd;
++ if ((cd = iconv_open("UTF-8", legacyCp)) != (iconv_t)-1) {
+
+- AString s_utf8;
+- const char* src = s.Ptr();
+- size_t slen = s.Len();
+- size_t dlen = slen * 4;
+- const char* dest = s_utf8.GetBuf_SetEnd(dlen + 1); // (source length * 4) + null termination
++ AString sUtf8;
+
+- size_t done = iconv(cd, (char**)&src, &slen, (char**)&dest, &dlen);
+- bzero((size_t*)dest + done, 1);
++ size_t slen = s.Len();
++ char* src = const_cast<char*>(s.Ptr());
+
+- iconv_close(cd);
++ size_t dlen = slen * 4 + 1; // (source length * 4) + null termination
++ char* dst = sUtf8.GetBuf_SetEnd(dlen);
++ const char* dstStart = dst;
+
+- if (ConvertUTF8ToUnicode(s_utf8, res) || ignore_Utf8_Errors)
+- return;
+- }
++ memset(dst, 0, dlen);
++
++ size_t done = iconv(cd, &src, &slen, &dst, &dlen);
++
++ if (done == (size_t)-1) {
++ iconv_close(cd);
++
++ // iconv failed. Falling back to default behavior
++ MultiByteToUnicodeString2(res, s, useSpecifiedCodePage ? codePage : GetCodePage());
++ return;
++ }
++
++ // Null-terminate the result
++ *dst = '\0';
++
++ iconv_close(cd);
++
++ AString sUtf8CorrectLength;
++ unsigned dstCorrectLength = dst - dstStart;
++ sUtf8CorrectLength.SetFrom(sUtf8, dstCorrectLength);
++ if (ConvertUTF8ToUnicode(sUtf8CorrectLength, res) /*|| ignore_Utf8_Errors*/)
++ return;
++ }
++ }
+ }
+ #endif
+
diff --git a/app-arch/p7zip/p7zip-17.05-r2.ebuild b/app-arch/p7zip/p7zip-17.05-r2.ebuild
new file mode 100644
index 000000000000..c3cf8085fcf6
--- /dev/null
+++ b/app-arch/p7zip/p7zip-17.05-r2.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib toolchain-funcs wrapper xdg
+
+DESCRIPTION="Port of 7-Zip archiver for Unix"
+HOMEPAGE="https://github.com/p7zip-project/p7zip"
+SRC_URI="https://github.com/p7zip-project/p7zip/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1 rar? ( unRAR )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+IUSE="abi_x86_x32 natspec +pch rar test"
+
+REQUIRED_USE="test? ( rar )" # bug 907221
+RESTRICT="!test? ( test )"
+
+RDEPEND="natspec? ( dev-libs/libnatspec )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/nasm )"
+
+PATCHES=( "${FILESDIR}/p7zip-17.05-unit64.patch" )
+
+src_prepare() {
+ default
+
+ if use natspec; then
+ eapply "${FILESDIR}"/${P}-natspec.patch
+ sed -i '/^LOCAL_LIBS/s/$/ -lnatspec/' makefile.* || die
+ else
+ eapply "${FILESDIR}/${P}-localization.patch"
+ fi
+
+ if ! use pch; then
+ sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
+ fi
+
+ sed \
+ -e 's|-m32 ||g' \
+ -e 's|-m64 ||g' \
+ -e 's|-pipe||g' \
+ -e "/[ALL|OPT]FLAGS/s|-s||;/OPTIMIZE/s|-s||" \
+ -e "/CFLAGS=/s|=|+=|" \
+ -e "/CXXFLAGS=/s|=|+=|" \
+ -i makefile* || die
+
+ # remove non-free RAR codec
+ if ! use rar; then
+ sed \
+ -e '/Rar/d' \
+ -e '/RAR/d' \
+ -i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
+ rm -r CPP/7zip/Compress/Rar || die
+ fi
+
+ if use abi_x86_x32; then
+ sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
+ cp makefile.linux_amd64_asm makefile.machine || die
+ elif use amd64; then
+ cp makefile.linux_amd64_asm makefile.machine || die
+ elif use x86; then
+ cp makefile.linux_x86_asm_gcc_4.X makefile.machine || die
+ elif [[ ${CHOST} == *-darwin* ]] ; then
+ # Mac OS X needs this special makefile, because it has a non-GNU
+ # linker, it doesn't matter so much for bitwidth, for it doesn't
+ # do anything with it
+ cp makefile.macosx_llvm_64bits makefile.machine || die
+ # bundles have extension .bundle but don't die because USE=-rar
+ # removes the Rar directory
+ sed -i -e '/strcpy(name/s/\.so/.bundle/' \
+ CPP/Windows/DLL.cpp || die
+ sed -i -e '/^PROG=/s/\.so/.bundle/' \
+ CPP/7zip/Bundles/Format7zFree/makefile.list \
+ $(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
+ fi
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
+}
+
+src_test() {
+ emake test test_7z test_7zr
+}
+
+src_install() {
+ # these wrappers cannot be symlinks, p7zip should be called with full path
+ make_wrapper 7zr /usr/$(get_libdir)/p7zip/7zr
+ make_wrapper 7za /usr/$(get_libdir)/p7zip/7za
+ make_wrapper 7z /usr/$(get_libdir)/p7zip/7z
+
+ dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
+ doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
+
+ exeinto /usr/$(get_libdir)/p7zip
+ doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
+ doexe bin/*$(get_modname)
+ if use rar; then
+ exeinto /usr/$(get_libdir)/p7zip/Codecs
+ doexe bin/Codecs/*$(get_modname)
+ fi
+
+ doman man1/7z.1 man1/7za.1 man1/7zr.1
+
+ dodoc ChangeLog README TODO
+ dodoc DOC/*.txt
+ docinto html
+ dodoc -r DOC/MANUAL/.
+}