summaryrefslogtreecommitdiff
path: root/app-arch
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/7zip/7zip-24.09.ebuild2
-rw-r--r--app-arch/7zip/Manifest2
-rw-r--r--app-arch/Manifest.gzbin18271 -> 18265 bytes
-rw-r--r--app-arch/xz-utils/Manifest6
-rw-r--r--app-arch/xz-utils/xz-utils-5.6.4-r1.ebuild205
-rw-r--r--app-arch/xz-utils/xz-utils-5.8.1.ebuild199
6 files changed, 412 insertions, 2 deletions
diff --git a/app-arch/7zip/7zip-24.09.ebuild b/app-arch/7zip/7zip-24.09.ebuild
index 255f34e19905..455c48118c54 100644
--- a/app-arch/7zip/7zip-24.09.ebuild
+++ b/app-arch/7zip/7zip-24.09.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}"
LICENSE="LGPL-2 BSD rar? ( unRAR )"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc ~ppc64 ~riscv"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc"
IUSE="uasm jwasm rar symlink"
REQUIRED_USE="?? ( uasm jwasm )"
diff --git a/app-arch/7zip/Manifest b/app-arch/7zip/Manifest
index f041bc6c087f..6efd8bf3e568 100644
--- a/app-arch/7zip/Manifest
+++ b/app-arch/7zip/Manifest
@@ -4,5 +4,5 @@ DIST 7z2408-src.tar.xz 1493700 BLAKE2B fd22a302044ca8655187573173fdc13ae93efaf90
DIST 7z2409-linux-x64.tar.xz 1565344 BLAKE2B 4ded059fe85073405b4a1510378ed473bca6de2792d313fc3dcb77850dc2531b06866bb4d9de4d4dbc848be5a98b2e4cf5bbe191248f0ae53a279b48b586c169 SHA512 aebf18d861944e2b52d91434b1d59d80a5aadf3b2e80ab3d248357bcaf3c429442caf4ad3297057a559f2719cae9ce5b0aa391963570ffa75b6dcdf1f3c25603
DIST 7z2409-src.tar.xz 1511288 BLAKE2B 5fcb39acc282b7dafbd1900eaf77e15e634adda5eff5d630b9d0821aa0d1e8569856cf99503ab7ffe69a82cec82a1a890772d6cff86cdb0af01dd462a94c0908 SHA512 461b702eb275655ebda70e128a5e184d15d2b0556f11ab1b409c0ff8a1e9c5d64761bdfb1685c5a0278534024a1e4ce46e4443d55cae373e487dc9ae180ef310
EBUILD 7zip-24.08.ebuild 3021 BLAKE2B cb25e4abb650c622528ea0eed277f1f5b1419e46b5234a53b83120d6247842158c556190442f9ee792129e17b4915bd8b90daf32bcb07f3114687c28fae9d345 SHA512 dade7aa8de294f3c8a3ec209bdbb66b87e5f0a824166e2b5013d1d8bda0f14ecee7425db15874b67c274361b0fc047cfc90b0c9e122aa1183794286dec103c01
-EBUILD 7zip-24.09.ebuild 3151 BLAKE2B 9b83f29d9c8cc4d925f3f1c86169a244cccf108a674c03ece13ce610d73d382871d088a729dd1b4e275a005202e419f52da8fbb172528767730a8569ed544448 SHA512 eed60d949b4f906fde07541339c60a6c0d87b67b229bf960fbc33687fa92a5c443bf576bf0eeaa2d9b2ab6a89afd75221fa034a806f338259113ae8518b3391d
+EBUILD 7zip-24.09.ebuild 3163 BLAKE2B 895ced793d29803d25c4f7e36fd747900b4589edfac18b19074a02093b99b327becd55c00b884b7535a0f2a6e1e22b1f0b62a039fa0504a6ab688a58fdaa5c21 SHA512 01f03c1317b0ddc73b0a5429f20deb52bc1f6dbfc20f2f30ba52ba7c8458f24faf588e40e0720a2e5288b5e598b5424c3d72af966665dba6f52081d631cf8e7b
MISC metadata.xml 1044 BLAKE2B 481810b40b8c6ff2a023318682484f2ebf7e92ec6ce921e73d6b92b5f671dadfc1355bef38574f8a1fd74ed1a8bef11b9ec3aa763b9489d994c7bc3f2bf86caa SHA512 b55539bdaac268bda1017d179cf77573848bc8dbcaba655c5163f3ff369e68034426f14565953aee30c9ba1cb7ed5a42e17745ea609dce53789ece38c5ade653
diff --git a/app-arch/Manifest.gz b/app-arch/Manifest.gz
index c9c8d928749a..4c7c69be62a6 100644
--- a/app-arch/Manifest.gz
+++ b/app-arch/Manifest.gz
Binary files differ
diff --git a/app-arch/xz-utils/Manifest b/app-arch/xz-utils/Manifest
index 1592c1dba7ae..247636a24952 100644
--- a/app-arch/xz-utils/Manifest
+++ b/app-arch/xz-utils/Manifest
@@ -2,7 +2,13 @@ DIST xz-5.6.4.tar.gz 2280985 BLAKE2B 3d27c143f4856589d501bc47ff5c86c1c49b1d0b8c8
DIST xz-5.6.4.tar.gz.sig 566 BLAKE2B 475b576431f573b9ce390ae2c43fc4f307f00ef523a741ec6795f182f5ff2c30f2049b1b4d2a3a7e61769bb7dc568de0f5af89661cb09341a58bbcdcdda3c877 SHA512 1ece59b7a540f6d215206ced14759aa971f192433705f8803b6ad8db0857e246145300c853cb571d8750b8152483d13736c478a7c0abb40d7ed25305d80a841c
DIST xz-5.8.0.tar.gz 2579807 BLAKE2B 4fe1f19e5951640b27e7405da4de40a811caf4349141e5eb571e6dd3fb9e8a9ffcb9d7a7bc72ccda1540e3f2298a88da393a95dffeeb13da5dd70e2d96967eaf SHA512 ea9a0ba73529c12df776cd2b5088726e253b5517653700676db77780d5bd13db54e36b427bbf934eb1e17f6330767d097ea8720e43c3052c6f58f4c7fc53f7b1
DIST xz-5.8.0.tar.gz.sig 566 BLAKE2B 38f925e96b1f1dd9e9afc0c0b68e7c30921e8ac46f8ca62bfdd9145356b3ef4c359ae77f89c8b1ef76ca8197e34bf743a6617bcc1a76a44491ff9fedac65783c SHA512 88eb39a2078ff235f1ae9222e789d06f55d225845072a96b0e6ef8f218781aad04cc53623537b0b18607d3cd7c51b6cee3c07b36d912b3a8b7c9991ebfe795d3
+DIST xz-5.8.1.tar.gz 2587189 BLAKE2B 430b14bc0f1382e7ba27ae1466ed2bc0c3e74c10b18db38fd899c9a7d315ffbbeb439d02b7b961de88ccba6064ae631c75f6d1cd03e3e58dac2e65a84b635f81 SHA512 151b2a47fdf00274c4fd71ceada8fb6c892bdac44070847ebf3259e602b97c95ee5ee88974e03d7aa821ab4f16d5c38e50dfb2baf660cf39c199878a666e19ad
+DIST xz-5.8.1.tar.gz.sig 566 BLAKE2B 66fdf664995781c111349b700918b030af9dacd0612d97b3426913c2d866b459a66bd25558c7ab8121b3f0b07daa46422ea1c4534cf2da7382a94f1553e911a1 SHA512 4a67ed623841d64a5826cef1d5e21f3567ba275ee8f725a1217f76ce2ba25a41c6e22e62f8c7cca74d0d6e8398e8ee8926eab722cc8c1b10c42e990c32765efd
+DIST xz-cve-2025-31115.patch 11948 BLAKE2B a84c380aa6bdaa607d5bffe6370f7a2fb603945aa89f59f053d56e4be90a280b2c56d8e5fd6700a533fb24bd9ec54f047fed96364019f62eeea50adcf4e38657 SHA512 951622698f92844151f105821e1cf5bbe4fd71de5a2ac89a2310c6de80afe34528642c65d12dd4331085e1c23ba3887607bbd6185644c740cbf135c869881a33
+DIST xz-cve-2025-31115.patch.sig 566 BLAKE2B d6d4bad23ceaec55b6db04a4454885900f961dd6346c112cb97906e2403b718790e3f893d2502ba67ac1a08832478051ea480bdcf339bbf89d0edd13f40a47b4 SHA512 4002472637389c265fbe0f2ad7d80fe29a79bc4d8c1778af76e7cfd29b80d86c3be947ebf620a282494f45071f61534e385c5bed2192e6095ec2fc1338c31ccb
+EBUILD xz-utils-5.6.4-r1.ebuild 5644 BLAKE2B f6d8920dc1a5aa422118f79b34d6864154e475374a2f4872f0908e6ff17d69e2aaf04ce2ff6e85d9d12c96a55c9687c2f3124b4b18684c000731eece1e0a986e SHA512 218ceb6300d2d8e3cf5df9727ad7c8f252aafd36ae9f04e8ff6db7ef82d3f895071a7267c403834dc904b983a08568fbda6b722f840743e648722b83af1d3175
EBUILD xz-utils-5.6.4.ebuild 5490 BLAKE2B 68bb630acc0f231b5e2e1fd4a18f627e790869bd48906161aac9c5ca32e3d4bc8e0cce0057b00cbeef297382e98f58b8b76feb47fe30efa6961ca530d140b7fd SHA512 d5c43632596a9c5fbc00839bfe9f35225d59154773e54c1818482f85cf3ca0e1ee1ce9ef3747daec730438f14bffc04f639e5458157ea8e44338e9ed012a3b8e
EBUILD xz-utils-5.8.0.ebuild 5498 BLAKE2B b7bcacb8026c39ced8de4229d5e84368aef4da4f532d5adc1a4644db89340cbada5c39e3eec7fee536750f5096684e484b89303e155752efd1455ce5d56ea983 SHA512 7183c2b6c69d99f8b4e2d6deb7dc6dfd7ad017c91bb597714a3c1bcd9d5c0d2c749f3cee7f1009507b381392782ee2b8f03d5b25e6411493f8479528ae2e7908
+EBUILD xz-utils-5.8.1.ebuild 5498 BLAKE2B b7bcacb8026c39ced8de4229d5e84368aef4da4f532d5adc1a4644db89340cbada5c39e3eec7fee536750f5096684e484b89303e155752efd1455ce5d56ea983 SHA512 7183c2b6c69d99f8b4e2d6deb7dc6dfd7ad017c91bb597714a3c1bcd9d5c0d2c749f3cee7f1009507b381392782ee2b8f03d5b25e6411493f8479528ae2e7908
EBUILD xz-utils-9999.ebuild 5498 BLAKE2B b7bcacb8026c39ced8de4229d5e84368aef4da4f532d5adc1a4644db89340cbada5c39e3eec7fee536750f5096684e484b89303e155752efd1455ce5d56ea983 SHA512 7183c2b6c69d99f8b4e2d6deb7dc6dfd7ad017c91bb597714a3c1bcd9d5c0d2c749f3cee7f1009507b381392782ee2b8f03d5b25e6411493f8479528ae2e7908
MISC metadata.xml 748 BLAKE2B fe48d0e6b5aac2c843670597f0daa0202af709c27fe81889da8e4ef6877e35b30009b72831bc737b1078954b6494b508fa1b59305fdaf795db8801d20d9a0638 SHA512 6e64f0053489389818430808acb32cc1d3b33013978adf4952fbf57ab555e0710a106623ac1eb67405f1dd91c33397c5c70bddc9c5015878f280266b29b4e189
diff --git a/app-arch/xz-utils/xz-utils-5.6.4-r1.ebuild b/app-arch/xz-utils/xz-utils-5.6.4-r1.ebuild
new file mode 100644
index 000000000000..05d8d6426409
--- /dev/null
+++ b/app-arch/xz-utils/xz-utils-5.6.4-r1.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2025 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 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/lassecollin.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
+ https://downloads.sourceforge.net/lzmautils/${MY_P}.tar.gz
+ https://tukaani.org/xz/${MY_P}.tar.gz
+ https://tukaani.org/xz/xz-cve-2025-31115.patch
+ 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
+ https://tukaani.org/xz/xz-cve-2025-31115.patch.sig
+ )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~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-lassecollin-20250313 )"
+fi
+
+PATCHES=(
+ "${DISTDIR}"/xz-cve-2025-31115.patch
+)
+
+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 7-Zip uses CRC32 by default.
+ # Also, XZ Embedded in Linux doesn't support CRC64, so
+ # kernel modules and friends are 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/xpg4/bin
+ myconf+=( --disable-path-for-script )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo")
+ local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo")
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
+
+ if use pgo ; then
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
+
+ local tar_pgo_args=()
+
+ if has_version -b "app-alternatives/tar[gnu]" ; then
+ tar_pgo_args+=(
+ --mtime=@2718281828
+ --sort=name
+ )
+ fi
+
+ if multilib_is_native_abi ; then
+ (
+ shopt -s globstar
+
+ tar \
+ "${tar_pgo_args[@]}" \
+ -cf xz-pgo-test-01.tar \
+ {"${S}","${BUILD_DIR}"}/**/*.[cho] \
+ {"${S}","${BUILD_DIR}"}/**/.libs/* \
+ {"${S}","${BUILD_DIR}"}/**/**.txt \
+ {"${S}","${BUILD_DIR}"}/tests/files
+
+ stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar || die
+ md5sum xz-pgo-test-01.tar || die
+ )
+
+ local test_variants=(
+ # Borrowed from ALT Linux
+ # https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80
+ '-0 -C none'
+ '-2 -C crc32'
+ "$(usev extra-filters '-6 --arm --lzma2 -C crc64')"
+ "$(usev extra-filters '-6 --x86 --lzma2=lc=4 -C sha256')"
+ '-7e --format=lzma'
+
+ # Our own variants
+ ''
+ '-e'
+ "$(usev extra-filters '--x86 --lzma2=preset=6e')"
+ )
+ local test_variant
+ for test_variant in "${test_variants[@]}" ; do
+ einfo "Testing '${test_variant}' variant"
+ "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null
+ assert "Testing '${test_variant}' variant failed"
+ done
+ fi
+
+ 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() {
+ default
+
+ # bug #934370 and bug #450436 (and bug #934515)
+ if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma$(get_libname)" ]] ; then
+ eerror "Sanity check for liblzma$(get_libname) failed."
+ eerror "Shared library wasn't built, possible libtool bug"
+ [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma$(get_libname) not found in build, aborting"
+ 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)
+}
diff --git a/app-arch/xz-utils/xz-utils-5.8.1.ebuild b/app-arch/xz-utils/xz-utils-5.8.1.ebuild
new file mode 100644
index 000000000000..b4b85808bcc3
--- /dev/null
+++ b/app-arch/xz-utils/xz-utils-5.8.1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2025 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 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/lassecollin.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
+ https://downloads.sourceforge.net/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 ~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-lassecollin-20250313 )"
+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 7-Zip uses CRC32 by default.
+ # Also, XZ Embedded in Linux doesn't support CRC64, so
+ # kernel modules and friends are 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/xpg4/bin
+ myconf+=( --disable-path-for-script )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo")
+ local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo")
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
+
+ if use pgo ; then
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
+
+ local tar_pgo_args=()
+
+ if has_version -b "app-alternatives/tar[gnu]" ; then
+ tar_pgo_args+=(
+ --mtime=@2718281828
+ --sort=name
+ )
+ fi
+
+ if multilib_is_native_abi ; then
+ (
+ shopt -s globstar
+
+ tar \
+ "${tar_pgo_args[@]}" \
+ -cf xz-pgo-test-01.tar \
+ {"${S}","${BUILD_DIR}"}/**/*.[cho] \
+ {"${S}","${BUILD_DIR}"}/**/.libs/* \
+ {"${S}","${BUILD_DIR}"}/**/**.txt \
+ {"${S}","${BUILD_DIR}"}/tests/files
+
+ stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar || die
+ md5sum xz-pgo-test-01.tar || die
+ )
+
+ local test_variants=(
+ # Borrowed from ALT Linux
+ # https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80
+ '-0 -C none'
+ '-2 -C crc32'
+ "$(usev extra-filters '-6 --arm --lzma2 -C crc64')"
+ "$(usev extra-filters '-6 --x86 --lzma2=lc=4 -C sha256')"
+ '-7e --format=lzma'
+
+ # Our own variants
+ ''
+ '-e'
+ "$(usev extra-filters '--x86 --lzma2=preset=6e')"
+ )
+ local test_variant
+ for test_variant in "${test_variants[@]}" ; do
+ einfo "Testing '${test_variant}' variant"
+ "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null
+ assert "Testing '${test_variant}' variant failed"
+ done
+ fi
+
+ 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() {
+ default
+
+ # bug #934370 and bug #450436 (and bug #934515)
+ if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma$(get_libname)" ]] ; then
+ eerror "Sanity check for liblzma$(get_libname) failed."
+ eerror "Shared library wasn't built, possible libtool bug"
+ [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma$(get_libname) not found in build, aborting"
+ 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)
+}