summaryrefslogtreecommitdiff
path: root/app-arch
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/Manifest.gzbin17928 -> 17932 bytes
-rw-r--r--app-arch/rpm/Manifest6
-rw-r--r--app-arch/rpm/files/rpm-4.19.1-musl-compat.patch59
-rw-r--r--app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch17
-rw-r--r--app-arch/rpm/rpm-4.19.1.1.ebuild (renamed from app-arch/rpm/rpm-4.19.1.ebuild)16
-rw-r--r--app-arch/xz-utils/Manifest4
-rw-r--r--app-arch/xz-utils/files/xz-utils-5.6.0-ifunc-crc-workaround.patch27
-rw-r--r--app-arch/xz-utils/xz-utils-5.6.0-r1.ebuild1
-rw-r--r--app-arch/xz-utils/xz-utils-5.6.0.ebuild141
9 files changed, 58 insertions, 213 deletions
diff --git a/app-arch/Manifest.gz b/app-arch/Manifest.gz
index 7ee3576907c9..87f0adcf6d6a 100644
--- a/app-arch/Manifest.gz
+++ b/app-arch/Manifest.gz
Binary files differ
diff --git a/app-arch/rpm/Manifest b/app-arch/rpm/Manifest
index 5a1aeec5be3a..4fc220aa094c 100644
--- a/app-arch/rpm/Manifest
+++ b/app-arch/rpm/Manifest
@@ -1,11 +1,11 @@
AUX rpm-4.17.0-libdir.patch 855 BLAKE2B 81a2daf0577c8dc3feac190764125da7a616e24ccdd38c3715c3c68f7fc831cf2662e629f23ed88f7d133961a40ac7f63acd6c7f52e99f17abe53442b2a5f14e SHA512 68d884cf9d57d89138ee7d6882869b0560aa9cd3dc82b837c47732f2d0248b42fbdafbbcc1f3f04322cd750744d97e4512491fb0591eb0622b2a5d1918391c46
AUX rpm-4.18.1-musl-nls.patch 1605 BLAKE2B 6a1cf248e7c464795edf630aa367b55c8026bdbdcd43cb192f4c96dd96f119720d4f3a59fd019841d45b6e2bf54fce59e64e10e3e320a8b9cddff6e7cf864a50 SHA512 fb1071ba5db5d1b9ac631c2977ceebfaa3421655202cda8c088bcc0561f4d89216eca5e10e3c53787d9e160ee2358c588fc2459b128bf74cf576883fe739d06c
AUX rpm-4.19.0-libdir.patch 578 BLAKE2B 643e4869b5770e98814a4787c66c3de516c0675648598164c4fe6e076e5a5c497ba897353260e5fb780af2d8b9b31693b4189704a145245cc0ee22ae3a6759a7 SHA512 b241e014c642ea70fdec4e12b3af512a00b5c408d9ecdd1c5bcd4aca9bd60f9af49ec8a599fbeb9f4d5a66c24450e082a0f199c27c15554855f3195d394de228
-AUX rpm-4.19.1-musl-compat.patch 1880 BLAKE2B e29fb10d9406bd05cca92642cd3024d97bed15c4b97a44e002bd593007d204484405f66f0412f25b64167005e761da6d252f6bf7a00e604043f59431e0e210c2 SHA512 75ecbcbfe5143be3437d43344a8372c4104ace65239ce7302c4cb1796a347e689450cc23b3a797af7d4e9ffc2ee576d4181a84364e022782165d7c8389677cf4
+AUX rpm-4.19.1.1-musl-compat.patch 401 BLAKE2B f1d77f167d0270602394cc145c288cc5c622892044c5f38df803649f9ca300f5dab7e0850e239362652142818c152f54e4de5f718ed42d51928329b0599abe34 SHA512 325d2b417619fd26ed9a2e2036854da5ed0118420640ef843e31add082d4ab3527fe3a6a7ee2d35c5939c75a7b5e17318973cd242e8ba008c54b8a1ad7ede0b8
AUX rpm-4.8.1-clang.patch 1519 BLAKE2B 7338b739782296e8be1d4a0ce9cdbeae558831897585d9b0d3fee935a82ed68e4066e7bbb1e722f212277dd3ede8be2ebad65f4a3f1286911c64263034c8b766 SHA512 7e6400f1782d536a26f322338be798c675ca69e755df0cacb3af1c56b3dc6487ae1c813f3579cba007cefa5b62c5e474576a4b8fd9230bb29536d246db860795
AUX rpm-4.8.1-db-path.patch 628 BLAKE2B 69ac0d4541c4d6e74fd716529c4cfd482432d400f84f39775bd585931e786acf45ab7a1da617f0214dcba90c78511ca22fc556896ae1963ec9160787fdaab902 SHA512 12539bbeda99d261890d50304945c7f022681ca0a283c70f17a6b1f188e9e24e9ce05b71d541ed6d951f94576b5183c49c4db784d5016d075a859c1e4dcb9005
DIST rpm-4.18.1.tar.bz2 6396363 BLAKE2B 4bc582bdc34a89d83346a8e18133c4f1846f2e8741c85ae2d0fd3398166e5a5d81ed86869e34700d3ea414fbf8ccf6c918692e865b956b1e6b70830b64cd323e SHA512 0ede2138b9b4c3b50d7e914cf82655507fcc207ba67804c749ea17560002976cb26b95801e9138a51589b60459494a991213a1131dbef5af2eca9b5050a4f29c
-DIST rpm-4.19.1.tar.bz2 5940447 BLAKE2B b40de875d79a48d0c54aef86bb8b3cb0312cbb4eb5b1382fcc147669c5d559c9a91fcfb3b4160fe1ad34595bc553132d1af34fe70a45f868b7f06a1635c3fe1e SHA512 12e6c7294a98032418ec9a0510a8183658483fe713d67e6890a9c0da44748371df45a26af6055d08470b85b5dec0cf94795d17c5b3e11db08b20ef07e8e06642
+DIST rpm-4.19.1.1.tar.bz2 5849649 BLAKE2B 66ed845007f3767fd92e2384962927b93cef7b825b8ea60f81f0a4b51b9d6a09d1cbec1668226fa85de675347d52635cb25c4d11204ada0eed6c898425b21536 SHA512 3364c453c29903c144a3680ceca7a17426eb085c288b6313fb7e857a42a5e0a965f623882e0f58e633f8b8770e839d9df9f7653d99c73759af5c89d0a981908d
EBUILD rpm-4.18.1.ebuild 4163 BLAKE2B 1f74a64a7b34bd4e2c84b0c9b980ebc6f2da6d436efcd50d163c4383adbd01a590a29305d6a71b7cc3856198d858704bcc2dc6cf82b5b0cf669317cc662084c1 SHA512 100f19f15e0db915aa7f8fc6351ab2db2b4fe4e38cd3038529f4a278daaf56d6a066fbb0fa529f79233548ff7eaa1be51fe7aab3fa25882dacba45c883302116
-EBUILD rpm-4.19.1.ebuild 3238 BLAKE2B c2d001f1afe59c2772d768a6027e3b2ac2763b2e4926defdd2fdff2f5a935e770a51aee1a183698de4f6751a6469cb013c657bdcd3cb34f133e4ec46232edbfe SHA512 ddedd97a067ec2cb5757a3994d126aa6def7f6f6ad82ff87b581401da5c2115ece2b11eec3606f6533de8d3cd525f3994a4f5cf1f175829300d0e4f904e86685
+EBUILD rpm-4.19.1.1.ebuild 3242 BLAKE2B 7f32bf808693bddf7260fd57d20ee0e8dd40993b03c17ab99a840826db6e3af5bbe2827a22c9fd75145cb32551af96749ddf1d8e4944df1419565051dd1906fc SHA512 2cea8daa766ba073ec73f21970c9ba9a38c88dfbee68c2d018d47138d112a866d6bc57bb87fb8b946cbdbf47c1c5f7d792eb2af48b6cb74e04fddd9ba8b2b85f
MISC metadata.xml 616 BLAKE2B f0df64810f4eaf6b3fa7cdb09a892677404fa2d6d3bd36abb9c5f638be56200d1c83dfec4b6a3bd18ad9ae9b56eeaabdbce243eafad366f366c9157ddfb00ad8 SHA512 792c6c2476c7e928b1e1515b56e19ec83e3855aaaebd17aa66407f6a232f4680ba5d90da54c0a5af7d3db829124fa062015070a1ab82ebe91f5f8f2d1ebaff29
diff --git a/app-arch/rpm/files/rpm-4.19.1-musl-compat.patch b/app-arch/rpm/files/rpm-4.19.1-musl-compat.patch
deleted file mode 100644
index ca9f97257c70..000000000000
--- a/app-arch/rpm/files/rpm-4.19.1-musl-compat.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-musl doesn't implement GLOB_BRACE, simply disable it.
-
-https://bugs.gentoo.org/922286
-https://github.com/rpm-software-management/rpm/issues/2844
---- a/rpmio/rpmglob.c
-+++ b/rpmio/rpmglob.c
-@@ -33,6 +33,10 @@
-
- #include "debug.h"
-
-+#ifndef GLOB_BRACE
-+#define GLOB_BRACE 0
-+#endif
-+
- /* Return 1 if pattern contains a magic char, see glob(7) for a list */
- static int ismagic(const char *pattern)
- {
-
-From 57f3711846f44da0f37cbc5dd66e8fba80a3bee1 Mon Sep 17 00:00:00 2001
-From: Panu Matilainen <pmatilai@redhat.com>
-Date: Mon, 18 Dec 2023 12:25:04 +0200
-Subject: [PATCH] Fix unconditional dependency on non-POSIX GLOB_ONLYDIR flag
-
-This regressed when we axed our internal glob copy in commit
-66fa46c006bae0f28d93238b8f7f1c923645eee5. Luckily GLOB_ONLYDIR is only
-an optimization so we can just skip it if not available.
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -350,6 +350,7 @@ if (LIBDW_FOUND)
- set(HAVE_LIBDW 1)
- endif()
-
-+check_symbol_exists(GLOB_ONLYDIR "glob.h" HAVE_GLOB_ONLYDIR)
- check_symbol_exists(major "sys/sysmacros.h" MAJOR_IN_SYSMACROS)
- if (NOT MAJOR_IN_SYSMACROS)
- check_symbol_exists(major "sys/mkdev.h" MAJOR_IN_MKDEV)
---- a/config.h.in
-+++ b/config.h.in
-@@ -100,6 +100,7 @@
- #cmakedefine HAVE_ZSTD @HAVE_ZSTD@
- #cmakedefine HAVE___PROGNAME @HAVE___PROGNAME@
- #cmakedefine HAVE___SECURE_GETENV @HAVE___SECURE_GETENV@
-+#cmakedefine HAVE_GLOB_ONLYDIR @HAVE_GLOB_ONLYDIR@
- #cmakedefine MAJOR_IN_MKDEV @MAJOR_IN_MKDEV@
- #cmakedefine MAJOR_IN_SYSMACROS @MAJOR_IN_SYSMACROS@
- #cmakedefine RUNDIR @rundir@
---- a/rpmio/rpmglob.c
-+++ b/rpmio/rpmglob.c
-@@ -84,8 +84,10 @@ int rpmGlobPath(const char * pattern, rpmglobFlags flags,
- gflags |= GLOB_BRACE;
- if (home != NULL && strlen(home) > 0)
- gflags |= GLOB_TILDE;
-+#if HAVE_GLOB_ONLYDIR
- if (dir_only)
- gflags |= GLOB_ONLYDIR;
-+#endif
- if (flags & RPMGLOB_NOCHECK)
- gflags |= GLOB_NOCHECK;
-
diff --git a/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch b/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch
new file mode 100644
index 000000000000..441689febd5d
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch
@@ -0,0 +1,17 @@
+musl doesn't implement GLOB_BRACE, simply disable it.
+
+https://bugs.gentoo.org/922286
+https://github.com/rpm-software-management/rpm/issues/2844
+--- a/rpmio/rpmglob.c
++++ b/rpmio/rpmglob.c
+@@ -33,6 +33,10 @@
+
+ #include "debug.h"
+
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ /* Return 1 if pattern contains a magic char, see glob(7) for a list */
+ static int ismagic(const char *pattern)
+ {
diff --git a/app-arch/rpm/rpm-4.19.1.ebuild b/app-arch/rpm/rpm-4.19.1.1.ebuild
index bac0276f3d5c..d57cff0ff5c7 100644
--- a/app-arch/rpm/rpm-4.19.1.ebuild
+++ b/app-arch/rpm/rpm-4.19.1.1.ebuild
@@ -18,8 +18,8 @@ SRC_URI="
LICENSE="GPL-2 LGPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~loong ~riscv ~sparc ~x86"
-IUSE="acl audit caps +berkdb doc dbus nls openmp python selinux +sequoia +sqlite"
+KEYWORDS="~alpha ~amd64 ~loong ~riscv ~x86"
+IUSE="acl audit caps +berkdb doc dbus nls openmp python readline selinux +sequoia +sqlite"
REQUIRED_USE="
${LUA_REQUIRED_USE}
python? ( ${PYTHON_REQUIRED_USE} )
@@ -29,8 +29,8 @@ RESTRICT="test"
DEPEND="
${LUA_DEPS}
- app-arch/libarchive:=
>=app-arch/bzip2-1.0.1
+ app-arch/libarchive:=
app-arch/xz-utils
app-arch/zstd:=
>=app-crypt/gnupg-1.2
@@ -40,16 +40,16 @@ DEPEND="
sys-apps/file
sys-libs/readline:=
>=sys-libs/zlib-1.2.3-r1
- virtual/libintl
acl? ( virtual/acl )
audit? ( sys-process/audit )
caps? ( >=sys-libs/libcap-2.0 )
dbus? ( sys-apps/dbus )
- sqlite? ( dev-db/sqlite:3 )
- python? ( ${PYTHON_DEPS} )
nls? ( virtual/libintl )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
sequoia? ( app-crypt/rpm-sequoia )
!sequoia? ( dev-libs/libgcrypt:= )
+ sqlite? ( dev-db/sqlite:3 )
"
BDEPEND="
virtual/pkgconfig
@@ -62,9 +62,8 @@ RDEPEND="
"
PATCHES=(
- "${FILESDIR}"/${PN}-4.18.1-musl-nls.patch
"${FILESDIR}"/${PN}-4.19.0-libdir.patch
- "${FILESDIR}"/${PN}-4.19.1-musl-compat.patch
+ "${FILESDIR}"/${P}-musl-compat.patch
)
pkg_pretend() {
@@ -101,6 +100,7 @@ src_configure() {
-DWITH_CAP=$(usex caps)
-DWITH_DBUS=$(usex dbus)
-DWITH_INTERNAL_OPENPGP=$(usex sequoia OFF ON)
+ -DWITH_READLINE=$(usex readline)
$(cmake_use_find_package doc Doxygen)
)
cmake_src_configure
diff --git a/app-arch/xz-utils/Manifest b/app-arch/xz-utils/Manifest
index 978a53838207..5cd84c1091c7 100644
--- a/app-arch/xz-utils/Manifest
+++ b/app-arch/xz-utils/Manifest
@@ -1,3 +1,4 @@
+AUX xz-utils-5.6.0-ifunc-crc-workaround.patch 1031 BLAKE2B dbdb9d42837c6e9ee6f6744bf4c8a3f71e94c4e6260ca84d7113a0d02d66f0b4372000ae56a4e1b645926672cde9172b26746915591d7440975c97c0c9f4288b SHA512 150d1b9cf979a109ec227b906597f60adaaecc82a676b3cd3c2371005ea756a49d25699cb765c964d012b6c984ef042b8950736867a80a6872c1adf15ca03e52
AUX xz-utils-5.6.0-logging-verbosity-threads-auto.patch 1817 BLAKE2B b89b18c9a736567c93851773b24b3c90f9de923d9b61dcbad65030b8b22619f9b6ce6bbff4e025349f5e9913c9be45fc58cdafb53ac1f4a3e3ecf1c5f135d5c9 SHA512 d11b64e2faa7220b422e89694e11caa9b5b887a512ba6a386af223d777df6944cde75e4a25007787c2daaa217249d6c119ee257539c6138b3a49aa060e6dbac5
DIST xz-5.4.5.tar.gz 2884510 BLAKE2B 647c8227080a7f37e3321e778d7f52ccb9da3810f2be81b2d2b46001605b22cef6e724f9b3facfada26a12b24401c9a11449d6066443849b37b28e0eaa199315 SHA512 91f8f548c915de0ed79cee13ce0336b51c1cebf2eb142fa1efecfd07771c662c99cad3730540fcb712057ab274130e13b87960f6b4c62f0bd9477f27a303fb2b
DIST xz-5.4.5.tar.gz.sig 566 BLAKE2B c6ec64f92ecb30395e6d580be5d0aad1ee007585245ed42e7b05f1ea3a8cd8bf4317e8dc964c65417daa0a04e8f523c6ba8ae61a7f5b2ff3dc17dd53c7593ce2 SHA512 4f2c779d3c14bacd0451cfd68846201a48931128994c4119fcbf4f0dd7331710c32098039d38561de29327d543d67174fddbb6a83cb2fcfda9b3153cab092d4d
@@ -7,7 +8,6 @@ DIST xz-5.6.0.tar.gz 3036813 BLAKE2B 7b7ed5da5711fee6e53af1c72a6f4aff569d7cf986b
DIST xz-5.6.0.tar.gz.sig 566 BLAKE2B 6c073c620b03751fcb40f47612acf96bee67f9dd5c38aa8ccd1f140cf3183ba009b60496fe319c14d9a32bd6cc6563f142d1716d9ae1e0554f77114dc9fc8f21 SHA512 2800c3f440b6b17b61c418e12945f136535cc5a59069be2ee0de37e312e9ad16a29338152990eeb22ebe6cc3513679bdc40336cfa089a279d3b3476ac9d13ed0
EBUILD xz-utils-5.4.5.ebuild 3955 BLAKE2B a0b903cd6906fb604362fcc9e8aa44249946baac062438b3fd8a1901bb5fdf18d789eb1ac073894b047726849d75a6e8e48d0f955f5b22527339b780e1cfed5f SHA512 2ff0ca2035261185db82c72117bfb0ad3c5bc9dc957bf8625076def51d5010f491a76ae161084fdd2b50536882be49565c3f1185d001299dde456cedcc77d3ee
EBUILD xz-utils-5.4.6-r1.ebuild 3883 BLAKE2B 1b0135a044fd04355d4553aad1e7438d1cd70a344765d68168522d3216f58710054918cbad5717fcb76afa20bb01c988703c4d3483fd45f9f7edeeb50ec666f5 SHA512 b07814d9fc068d6851f1718a542407e646780c3bdc35fabb134f7f555b25a63b4e4bcdb99d07bacb8b589907f101c3358f634e300f80ce9704484b929cf4a8d3
-EBUILD xz-utils-5.6.0-r1.ebuild 4041 BLAKE2B edc4db4f5b437a95c2ba77819939c05c4292d885d67ef71867569ece0c682510dcb1552de146cad511437628544098940815f0fe813645df93ba3147977ace3c SHA512 e9a65904bc3d6479020fc27651d0059220d8f23e992728b11f64b7d6bdafb1676e7e1043f41b0e918a6134e4ee757513c27b2440270052ebadcfe8b51e66f710
-EBUILD xz-utils-5.6.0.ebuild 3971 BLAKE2B 5c7dc315303de12ac9b5046252dbab561911fc0a4b1d002bf2a6bb3cd0fac6494efabafb3ce65a98cd119da28ce2b4155ac2af0f73e6fea34612e46b1fec553d SHA512 caa0d3dd146f47b0b142009a07d05751d4a430810a0a60d12a76c49c0c0498b053af3b0342c11c91bfc8159fd5e2678b3223e8a5bda4f6ba1559c32bea249dd3
+EBUILD xz-utils-5.6.0-r1.ebuild 4095 BLAKE2B e59343fd126228e8d39f5171e95b417e2d9ec8a4b30328fc277e488a12d8262a23f559442721e9d316f60e384016a16bbdc93434f48c9cb90fa3ca96cc24c17a SHA512 ebf6449dba3e962f003aa7258c0510c468fe64ec1a24be2643fe12f9175bf7827ff740b65a86c136eedbe96195728cb6622c0a9d70e23a125a671796b9d1074a
EBUILD xz-utils-9999.ebuild 3971 BLAKE2B 5c7dc315303de12ac9b5046252dbab561911fc0a4b1d002bf2a6bb3cd0fac6494efabafb3ce65a98cd119da28ce2b4155ac2af0f73e6fea34612e46b1fec553d SHA512 caa0d3dd146f47b0b142009a07d05751d4a430810a0a60d12a76c49c0c0498b053af3b0342c11c91bfc8159fd5e2678b3223e8a5bda4f6ba1559c32bea249dd3
MISC metadata.xml 748 BLAKE2B fe48d0e6b5aac2c843670597f0daa0202af709c27fe81889da8e4ef6877e35b30009b72831bc737b1078954b6494b508fa1b59305fdaf795db8801d20d9a0638 SHA512 6e64f0053489389818430808acb32cc1d3b33013978adf4952fbf57ab555e0710a106623ac1eb67405f1dd91c33397c5c70bddc9c5015878f280266b29b4e189
diff --git a/app-arch/xz-utils/files/xz-utils-5.6.0-ifunc-crc-workaround.patch b/app-arch/xz-utils/files/xz-utils-5.6.0-ifunc-crc-workaround.patch
new file mode 100644
index 000000000000..e793aac56a78
--- /dev/null
+++ b/app-arch/xz-utils/files/xz-utils-5.6.0-ifunc-crc-workaround.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/925415
+https://gcc.gnu.org/PR114115
+
+Workaround a build failure with USE=pgo by disabling instrumentation of the
+crc{32,64} IFUNC resolvers.
+--- a/src/liblzma/check/crc32_fast.c
++++ b/src/liblzma/check/crc32_fast.c
+@@ -135,7 +135,7 @@ typedef uint32_t (*crc32_func_type)(
+ // This resolver is shared between all three dispatch methods. It serves as
+ // the ifunc resolver if ifunc is supported, otherwise it is called as a
+ // regular function by the constructor or first call resolution methods.
+-static crc32_func_type
++static __attribute__((no_profile_instrument_function)) crc32_func_type
+ crc32_resolve(void)
+ {
+ return is_arch_extension_supported()
+--- a/src/liblzma/check/crc64_fast.c
++++ b/src/liblzma/check/crc64_fast.c
+@@ -98,7 +98,7 @@ typedef uint64_t (*crc64_func_type)(
+ # pragma GCC diagnostic ignored "-Wunused-function"
+ #endif
+
+-static crc64_func_type
++static __attribute__((no_profile_instrument_function)) crc64_func_type
+ crc64_resolve(void)
+ {
+ return is_arch_extension_supported()
diff --git a/app-arch/xz-utils/xz-utils-5.6.0-r1.ebuild b/app-arch/xz-utils/xz-utils-5.6.0-r1.ebuild
index 26708cb6aea1..7260487c61d5 100644
--- a/app-arch/xz-utils/xz-utils-5.6.0-r1.ebuild
+++ b/app-arch/xz-utils/xz-utils-5.6.0-r1.ebuild
@@ -55,6 +55,7 @@ fi
PATCHES=(
"${FILESDIR}"/${P}-logging-verbosity-threads-auto.patch
+ "${FILESDIR}"/${PN}-5.6.0-ifunc-crc-workaround.patch
)
src_prepare() {
diff --git a/app-arch/xz-utils/xz-utils-5.6.0.ebuild b/app-arch/xz-utils/xz-utils-5.6.0.ebuild
deleted file mode 100644
index f3c9351bf44b..000000000000
--- a/app-arch/xz-utils/xz-utils-5.6.0.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Remember: we cannot leverage autotools in this ebuild in order
-# to avoid circular deps with autotools
-
-EAPI=8
-
-inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs
-
-if [[ ${PV} == 9999 ]] ; then
- # Per tukaani.org, git.tukaani.org is a mirror of github and
- # may be behind.
- EGIT_REPO_URI="
- https://github.com/tukaani-project/xz
- https://git.tukaani.org/xz.git
- "
- inherit git-r3 autotools
-
- # bug #272880 and bug #286068
- BDEPEND="sys-devel/gettext >=dev-build/libtool-2"
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jiatan.asc
- inherit verify-sig
-
- MY_P="${PN/-utils}-${PV/_}"
- SRC_URI="
- https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz
- mirror://sourceforge/lzmautils/${MY_P}.tar.gz
- https://tukaani.org/xz/${MY_P}.tar.gz
- verify-sig? (
- https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig
- https://tukaani.org/xz/${MY_P}.tar.gz.sig
- )
- "
-
- if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
- fi
-
- S="${WORKDIR}/${MY_P}"
-fi
-
-DESCRIPTION="Utils for managing LZMA compressed files"
-HOMEPAGE="https://tukaani.org/xz/"
-
-# See top-level COPYING file as it outlines the various pieces and their licenses.
-LICENSE="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )"
-SLOT="0"
-IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs"
-
-if [[ ${PV} != 9999 ]] ; then
- BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )"
-fi
-
-src_prepare() {
- default
-
- if [[ ${PV} == 9999 ]] ; then
- eautopoint
- eautoreconf
- else
- # Allow building shared libs on Solaris/x64
- elibtoolize
- fi
-}
-
-multilib_src_configure() {
- local myconf=(
- --enable-threads
- $(multilib_native_use_enable doc)
- $(use_enable nls)
- $(use_enable static-libs static)
- $(use_enable cpu_flags_arm_crc32 arm64-crc32)
- )
-
- if ! multilib_is_native_abi ; then
- myconf+=(
- --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
- )
- fi
-
- if ! use extra-filters ; then
- myconf+=(
- # LZMA1 + LZMA2 for standard .lzma & .xz files
- --enable-encoders=lzma1,lzma2
- --enable-decoders=lzma1,lzma2
-
- # those are used by default, depending on preset
- --enable-match-finders=hc3,hc4,bt4
-
- # CRC64 is used by default, though some (old?) files use CRC32
- --enable-checks=crc32,crc64
- )
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- export gl_cv_posix_shell="${EPREFIX}"/bin/sh
-
- # Undo Solaris-based defaults pointing to /usr/xpg5/bin
- myconf+=( --disable-path-for-script )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- # -fprofile-partial-training because upstream note the test suite isn't super comprehensive
- # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
- local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
- local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
-
- emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
-
- if use pgo ; then
- emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
-
- if tc-is-clang; then
- llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die
- fi
-
- emake clean
- emake CFLAGS="${CFLAGS} ${pgo_use_flags}"
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name '*.la' -delete || die
-
- if use doc ; then
- rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
- fi
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
-}