app-arch/xz-utils: add 5.8.2

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James 2025-12-18 00:57:31 +00:00
parent f391a4e997
commit 03ac4311de
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 211 additions and 0 deletions

View File

@ -2,5 +2,7 @@ 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.1.tar.gz 2587189 BLAKE2B 430b14bc0f1382e7ba27ae1466ed2bc0c3e74c10b18db38fd899c9a7d315ffbbeb439d02b7b961de88ccba6064ae631c75f6d1cd03e3e58dac2e65a84b635f81 SHA512 151b2a47fdf00274c4fd71ceada8fb6c892bdac44070847ebf3259e602b97c95ee5ee88974e03d7aa821ab4f16d5c38e50dfb2baf660cf39c199878a666e19ad
DIST xz-5.8.1.tar.gz.sig 566 BLAKE2B 66fdf664995781c111349b700918b030af9dacd0612d97b3426913c2d866b459a66bd25558c7ab8121b3f0b07daa46422ea1c4534cf2da7382a94f1553e911a1 SHA512 4a67ed623841d64a5826cef1d5e21f3567ba275ee8f725a1217f76ce2ba25a41c6e22e62f8c7cca74d0d6e8398e8ee8926eab722cc8c1b10c42e990c32765efd
DIST xz-5.8.2.tar.gz 2693526 BLAKE2B 50bf4e9dcd1e4579c70aa06bbdd17636c38c87bce313c6e633932b640b2a92736fc15f1769f6a02f4fe45302ae0d26587ebd312825d4f84220b9780b10372117 SHA512 0b808fc8407e7c50da3a7b2db05be732c2fcd41850b92c7f5647181443483848ff359e176c816ce2038c115273f51575877c14f1356417cc9d53845841acb063
DIST xz-5.8.2.tar.gz.sig 566 BLAKE2B f0a9bcc55b01e16827972052dc4d84ad47173ba7aa0ae1dad31606b329fb289fcd0061208133398b72591837a73092695f861e901f3b4f97dee9b2ac682f8939 SHA512 91c8d49d8ad0eb1e128203cf2c051fb200ec0e2b5eebea10a39945a998d24f11652a000faefa688d129327593043271314cbf115d78c21eeed738476dd2defb6
DIST xz-cve-2025-31115.patch 11948 BLAKE2B a84c380aa6bdaa607d5bffe6370f7a2fb603945aa89f59f053d56e4be90a280b2c56d8e5fd6700a533fb24bd9ec54f047fed96364019f62eeea50adcf4e38657 SHA512 951622698f92844151f105821e1cf5bbe4fd71de5a2ac89a2310c6de80afe34528642c65d12dd4331085e1c23ba3887607bbd6185644c740cbf135c869881a33
DIST xz-cve-2025-31115.patch.sig 566 BLAKE2B d6d4bad23ceaec55b6db04a4454885900f961dd6346c112cb97906e2403b718790e3f893d2502ba67ac1a08832478051ea480bdcf339bbf89d0edd13f40a47b4 SHA512 4002472637389c265fbe0f2ad7d80fe29a79bc4d8c1778af76e7cfd29b80d86c3be947ebf620a282494f45071f61534e385c5bed2192e6095ec2fc1338c31ccb

View File

@ -0,0 +1,209 @@
# 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 dot-a 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/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 ~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
}
src_configure() {
use static-libs && lto-guarantee-fat
multilib-minimal_src_configure
}
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() {
# -fprofile-partial-training because upstream note the test suite isn't super comprehensive
# TODO: revisit that now we have the tar/xz loop below?
# 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
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() {
strip-lto-bytecode
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)
}