commit:     d453a7ecd664ece027933fbdc1746d054fc768b5
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed May 29 17:22:02 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 29 17:30:57 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d453a7ec

app-arch/xz-utils: add 5.4.7

This release is signed by the original maintainer (and future releases
going forward will be too) Lasse Collin.

I worked with him on these releases and have reproduced his tarball
with only minor differences in dates. I encourage people to do the same:
using the 'mydist' target in the Makefile is recommended to minimise 
differences.

In future, I may package libtool-vanilla like we do for autoconf-vanilla
and automake-vanilla to make comparisons easier.

Bug: https://bugs.gentoo.org/928134
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-arch/xz-utils/Manifest              |   2 +
 app-arch/xz-utils/xz-utils-5.4.7.ebuild | 140 ++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+)

diff --git a/app-arch/xz-utils/Manifest b/app-arch/xz-utils/Manifest
index ec1a06d7c64c..2359a12a651f 100644
--- a/app-arch/xz-utils/Manifest
+++ b/app-arch/xz-utils/Manifest
@@ -2,3 +2,5 @@ DIST xz-5.4.2.tar.gz 2799022 BLAKE2B 
3c622b0823f0cbb5fbc5eaa0372fc2f0fefe0950d13
 DIST xz-5.4.2.tar.gz.sig 566 BLAKE2B 
95c9c70fdd25b92095dd9691e4d9d4306a3f982becfe7bd42ca6132a76f29be2c2bc66f4fc2bda547058c18e227292f4185799eb905084fc3ab415ae867b4b1b
 SHA512 
30e965c228ed3a8ecb804db8eb11703a765b7ee934030ea69bb3940b630811eb71bf74fd20371ef7759761904ece4f0144a0b00be4d843cf98299fd016f161aa
 DIST xz-5.4.6.tar.gz 2889306 BLAKE2B 
f0bbd33ea7cd64d475c3501f6e76080c8c0080e377f23462f5f76459935f4e621538ddaa8452d2feaed278d62a596e38ed2aca18ed9e76512c4ec77fa2f4cc5f
 SHA512 
b08a61d8d478d3b4675cb1ddacdbbd98dc6941a55bcdd81a28679e54e9367d3a595fa123ac97874a17da571c1b712e2a3e901c2737099a9d268616a1ba3de497
 DIST xz-5.4.6.tar.gz.sig 566 BLAKE2B 
808f1b5e2a17729f36a05ba88a9c00210cda2afa02923e6f289d13dc2a48f7674cafec6e25660e142d67f01dd941c7390cee2757b054df3a3193dde0791363a1
 SHA512 
d5e32b944e7492a32c40f675d918796e077f63490a23c6fce5c4d6d1eebc443f129d27a2e888913c5a36c3ffdac75b9c96c1749402283445e0ba9ff72b965741
+DIST xz-5.4.7.tar.gz 2798247 BLAKE2B 
e02f3a62c81882c83254e1c94f002aadcd59479dbd031a4d5ea68ce3303c066c298c2709845f2d4ef436511b21d35ab66a080542ac70aaf6c0a0daf448a47d02
 SHA512 
82c3e5d39fbaa5dcd61b45d5db99d740d811323456a9af3b1acfccbe66b074d1650bc810ee8272a8ae0a1bcf116fc73fc09297b8acb4c6568cf912708306e8ea
+DIST xz-5.4.7.tar.gz.sig 566 BLAKE2B 
525eeeddb219c6e46ef2079af0cd28c8514969ce33b2ab61ccae59ae26289e7ddbd29dd492f88f4e4da9db750dd60ce1831a23a0275cdac39bd5b29c663d1a72
 SHA512 
00e9004739a168fd8a1ca4bb8b8a9de456bbef2576565722158140f341e94f461dab05c6e457f62a1613229419a978898e878007872571afdc1bb8a9582fa00a

diff --git a/app-arch/xz-utils/xz-utils-5.4.7.ebuild 
b/app-arch/xz-utils/xz-utils-5.4.7.ebuild
new file mode 100644
index 000000000000..cd73493d1889
--- /dev/null
+++ b/app-arch/xz-utils/xz-utils-5.4.7.ebuild
@@ -0,0 +1,140 @@
+# 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/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 ~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="public-domain LGPL-2.1+ GPL-2+"
+SLOT="0"
+IUSE="doc +extra-filters pgo nls static-libs"
+
+if [[ ${PV} != 9999 ]] ; then
+       BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20240529 )"
+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)
+       )
+
+       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)
+}

Reply via email to