app-arch/xz-utils: Sync with Gentoo

It's from Gentoo commit 708e8c2d8e43ede23fdffb92b8505d35e0aeddc8.
This commit is contained in:
Flatcar Buildbot 2024-02-19 07:11:10 +00:00 committed by Krzesimir Nowak
parent 478681bfd9
commit 0f7d9f614d
5 changed files with 149 additions and 23 deletions

View File

@ -4,3 +4,5 @@ DIST xz-5.4.6.tar.gz 2889306 BLAKE2B f0bbd33ea7cd64d475c3501f6e76080c8c0080e377f
DIST xz-5.4.6.tar.gz.sig 566 BLAKE2B 808f1b5e2a17729f36a05ba88a9c00210cda2afa02923e6f289d13dc2a48f7674cafec6e25660e142d67f01dd941c7390cee2757b054df3a3193dde0791363a1 SHA512 d5e32b944e7492a32c40f675d918796e077f63490a23c6fce5c4d6d1eebc443f129d27a2e888913c5a36c3ffdac75b9c96c1749402283445e0ba9ff72b965741
DIST xz-5.5.1alpha.tar.gz 3020057 BLAKE2B 1a2106b9e43cb06ddde0f8a9fc86754fe2d335367035ec3349d34da5511496af0d1270cd42ce2c1c3324af74092c0eea3663746ec98195d0db449d5754253c0f SHA512 dbd164353012c9ff5ee3e776709704fcbc6e9f644fff52c75846653ca4a26b6dce1a2a5fe1663c3fc8674f99aa67a1a806eeac44cb978246223688c8c105fcf1
DIST xz-5.5.1alpha.tar.gz.sig 566 BLAKE2B 760946fd09eccd0a221d117cc1f5b656aba5bbbfa911d987fd93c54d9905a1e51dd8c24b6927cc97dda344f2efa774b556e6919bdf0b298fa6370ac8d3a56f76 SHA512 714f07b510a4a8ff0d533e6278cd25f8ed407b3c84b6172ce9d4e9fc2dfe8b0be9849eb008ee3b7ac900f34f85946336277a2700dc5133c6dcae144b8aba6dd7
DIST xz-5.5.2beta.tar.gz 2995626 BLAKE2B 3fb1c61fbe39f1a6e74729459b0f0593699ba9f380cf072d74982bd42fd67a807988dce521e85dd1437675dd19c485ad1cdba248e82ff72975cd50edd3e522f8 SHA512 8495d98a7a50292380cbac6ae1ce4d0709cf84bca9cd639bf9252ff18d647306ca1ac4f5b258a686bca324653c8cd31c2f4d4877a15fa7300dd82a416abe59a9
DIST xz-5.5.2beta.tar.gz.sig 566 BLAKE2B b4ab96a737b607b830c507d9df42a4e0ad463bb98fb3747f1c7b953f6738ea555e96a7324e08848617752209f05d3ee3a70936972e7d866dec58d3e0db8ddfcd SHA512 86acaba3d1c86134e9e68c9940c280f19d0fdd01897e7f6545fc6cf7d6a1034fe7a2a511f618af04e6da80a31fade608765d493b5f5c32d3684a2db46f196f28

View File

@ -6,7 +6,7 @@
EAPI=8
inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs usr-ldscript
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
@ -123,12 +123,6 @@ multilib_src_compile() {
fi
}
multilib_src_install() {
default
gen_usr_ldscript -a lzma
}
multilib_src_install_all() {
find "${ED}" -type f -name '*.la' -delete || die

View File

@ -6,7 +6,7 @@
EAPI=8
inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs usr-ldscript
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
@ -123,12 +123,6 @@ multilib_src_compile() {
fi
}
multilib_src_install() {
default
gen_usr_ldscript -a lzma
}
multilib_src_install_all() {
find "${ED}" -type f -name '*.la' -delete || die

View File

@ -0,0 +1,141 @@
# 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)
}

View File

@ -6,7 +6,7 @@
EAPI=8
inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs usr-ldscript
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
@ -45,9 +45,9 @@ 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="public-domain LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )"
LICENSE="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )"
SLOT="0"
IUSE="doc +extra-filters pgo nls static-libs"
IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs"
if [[ ${PV} != 9999 ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )"
@ -71,6 +71,7 @@ multilib_src_configure() {
$(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
@ -123,12 +124,6 @@ multilib_src_compile() {
fi
}
multilib_src_install() {
default
gen_usr_ldscript -a lzma
}
multilib_src_install_all() {
find "${ED}" -type f -name '*.la' -delete || die