diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-06-17 00:09:46 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-06-17 00:09:46 +0100 |
commit | 74e526c590f52d24a213e25f77858ae0b34ec2c8 (patch) | |
tree | 0f6f22133ae9cc04958f6df6d39a02d90ffb1aaf /app-arch/xz-utils | |
parent | 0a3feeaba4dbc58966dccdbbfcd7fb14deef0831 (diff) |
gentoo auto-resync : 17:06:2024 - 00:09:46
Diffstat (limited to 'app-arch/xz-utils')
-rw-r--r-- | app-arch/xz-utils/Manifest | 4 | ||||
-rw-r--r-- | app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild | 155 | ||||
-rw-r--r-- | app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild | 203 | ||||
-rw-r--r-- | app-arch/xz-utils/xz-utils-9999.ebuild | 33 |
4 files changed, 386 insertions, 9 deletions
diff --git a/app-arch/xz-utils/Manifest b/app-arch/xz-utils/Manifest index a1577a50a073..62d6dbdcb64c 100644 --- a/app-arch/xz-utils/Manifest +++ b/app-arch/xz-utils/Manifest @@ -5,7 +5,9 @@ DIST xz-5.4.7.tar.gz.sig 566 BLAKE2B 525eeeddb219c6e46ef2079af0cd28c8514969ce33b DIST xz-5.6.2.tar.gz 2355785 BLAKE2B d2d5f9772714b5b5993ec26c313bd27dc10d88928d9d3a1c71b78f80797e376cf065dcdd0c2c7977a83b67cbe2558140c74c5df44a9408e5a72529212c2205ad SHA512 c32c32c95e3541b906e0284e66a953ace677e0ce6af2084e7b122600047bf7542c1b0fabb5909b19ff79fba6def530be674df1c675b22a47a8d57f3f0b736a82 DIST xz-5.6.2.tar.gz.sig 566 BLAKE2B 9b1f19d0449de18057eb5bd3cceaa073fc245e9a05fb19fabdac98b1d2e708b39c8070130c522b78ff75df724e207f978d8da65e2ccb1c6fa295aa892eda0d23 SHA512 f3d1055a2a6e96eec2fd5c0b733f2ab5e150bac9645f1fe9a7558ed6f34a241b4f57e17fd4504f311be26cf1e2b9b797f2e78b1b9d2db02e9cd0c1548cb6160b EBUILD xz-utils-5.4.2.ebuild 3916 BLAKE2B e5ed50ed6c54ba51fabcc3b77ad0a42a00e8b5aca66a3264e51c572300bcbdf0ce181b8548aad3cd2c917ba9f77960e069ee73392be9d6b43f399ce70c98d8a6 SHA512 15d25fb0df99907985f4cd94edff05f3db0a15afee067276f00616eceb46fb79de248cd3b2945ca4aded3a4ff079a72ddeee7b9f599934c4f0ff2f71db6284f6 +EBUILD xz-utils-5.4.7-r1.ebuild 4435 BLAKE2B e84af7efd0c87ac42d29740f9f4e12c18bfef015233d860f70441046070223635228cb34a31fd3369b71f8c8661d4b580dd865dd1f09d69c44b8dd511bb57dec SHA512 d69ced38cdb8a714f80686d8a76584e52b72870bc3f2e8b686264cc273a988c02553083fe766e833f056bc2778507d19310462f6e3f6d03e1ee0a9c96474713d EBUILD xz-utils-5.4.7.ebuild 3924 BLAKE2B 664e833cf0da6953a1571e9843ec80870f00ba62b0f5a43342adaafa26e8ce91e377a169256927f5e553b9176cb5cd2f87784a4ef9acb9ac8f3bb5d2a26a5189 SHA512 7c18e7a278e5f316ae9b8fdc9116a167ae970bb8d52cfe4809a0218bfc2f0a1469546f037728cf3a21eb9e6869a583ad997a8dae19db65a22595abcc0826954e +EBUILD xz-utils-5.6.2-r1.ebuild 5806 BLAKE2B 9a9162d7154994da717facfb02c288b3e6bd1621e73315b3d14a2fcdacbf85abee97702789c7523df2ef257a930cd8c4426a61164438a3a47d0f94860b548e18 SHA512 bbc793bb6dfdbb10d3942943abc4cc2dd71e315d6b9ead5d1d0bf0d560c2870ffacf69124bd27dc7946518bc3611a26a84361c86ce82959bc6bf10b879d2597c EBUILD xz-utils-5.6.2.ebuild 5295 BLAKE2B 3379a08a62468ecb3ca9155192b6566f7ecbd91a943bd8f21304810558be2d352ed57847dd4b8cb3a2cc6f84b0cddb81cdd326d2712c3a8dab24c04eb5b16020 SHA512 61cb9451724c079eff85100b80f50fed53af002a60de717e0374f3420d5a043bfb997c1dc3ffb2a3fe849affb7b8fde20ebe49349075d65441fb9fe17db06de2 -EBUILD xz-utils-9999.ebuild 5295 BLAKE2B 3379a08a62468ecb3ca9155192b6566f7ecbd91a943bd8f21304810558be2d352ed57847dd4b8cb3a2cc6f84b0cddb81cdd326d2712c3a8dab24c04eb5b16020 SHA512 61cb9451724c079eff85100b80f50fed53af002a60de717e0374f3420d5a043bfb997c1dc3ffb2a3fe849affb7b8fde20ebe49349075d65441fb9fe17db06de2 +EBUILD xz-utils-9999.ebuild 5679 BLAKE2B 6c6ed8da1dc5fe24c5c2bab616cbbf3fb3c1e7ea628b6db261ac3dab46d7216d46b13d8d2080deef46c754ef1bf73c61012a1cf61cb596c09b5cbbfd43d0cf64 SHA512 fadd67cec38af9bc26fe4c5aab65715ef9e59de88a23ed3a9249dc760ed1607ecf815daeb57c8002b9e4c664979cc17bbb9c5ceba316525df1316ef2a30285da MISC metadata.xml 748 BLAKE2B fe48d0e6b5aac2c843670597f0daa0202af709c27fe81889da8e4ef6877e35b30009b72831bc737b1078954b6494b508fa1b59305fdaf795db8801d20d9a0638 SHA512 6e64f0053489389818430808acb32cc1d3b33013978adf4952fbf57ab555e0710a106623ac1eb67405f1dd91c33397c5c70bddc9c5015878f280266b29b4e189 diff --git a/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild b/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild new file mode 100644 index 000000000000..2b5beefd93f6 --- /dev/null +++ b/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild @@ -0,0 +1,155 @@ +# 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() { + # Workaround for bug #934370 (libtool-2.5.0), drop when dist tarball + # uses newer libtool with the fix. + export ac_cv_prog_ac_ct_FILECMD='file' FILECMD='file' + + 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() { + default + + # bug #934370 and bug #450436 + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma.so" ]] ; then + eerror "Sanity check for liblzma.so failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma.so 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.6.2-r1.ebuild b/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild new file mode 100644 index 000000000000..e63700af983e --- /dev/null +++ b/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild @@ -0,0 +1,203 @@ +# 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="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-20240529 )" +fi + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautopoint + eautoreconf + else + # Allow building shared libs on Solaris/x64 + elibtoolize + fi +} + +multilib_src_configure() { + # Workaround for bug #934370 (libtool-2.5.0), drop when dist tarball + # uses newer libtool with the fix. + export ac_cv_prog_ac_ct_FILECMD='file' FILECMD='file' + + 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 + # 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 + '' + '-9e' + "$(usev extra-filters '--x86 --lzma2=preset=9e')" + ) + local test_variant + for test_variant in "${test_variants[@]}" ; do + "${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 + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma.so" ]] ; then + eerror "Sanity check for liblzma.so failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma.so 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-9999.ebuild b/app-arch/xz-utils/xz-utils-9999.ebuild index a5c27989d3cc..d4d61aa545e8 100644 --- a/app-arch/xz-utils/xz-utils-9999.ebuild +++ b/app-arch/xz-utils/xz-utils-9999.ebuild @@ -6,7 +6,7 @@ EAPI=8 -inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs +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 @@ -66,6 +66,10 @@ src_prepare() { } multilib_src_configure() { + # Workaround for bug #934370 (libtool-2.5.0), drop when dist tarball + # uses newer libtool with the fix. + export ac_cv_prog_ac_ct_FILECMD='file' FILECMD='file' + local myconf=( --enable-threads $(multilib_native_use_enable doc) @@ -89,7 +93,9 @@ multilib_src_configure() { # 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 + # 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 @@ -97,7 +103,7 @@ multilib_src_configure() { if [[ ${CHOST} == *-solaris* ]] ; then export gl_cv_posix_shell="${EPREFIX}"/bin/sh - # Undo Solaris-based defaults pointing to /usr/xpg5/bin + # Undo Solaris-based defaults pointing to /usr/xpg4/bin myconf+=( --disable-path-for-script ) fi @@ -105,11 +111,8 @@ multilib_src_configure() { } 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)") + 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}" @@ -152,11 +155,14 @@ multilib_src_compile() { # Our own variants '' + '-e' '-9e' + "$(usev extra-filters '--x86 --lzma2=preset=6e')" "$(usev extra-filters '--x86 --lzma2=preset=9e')" ) 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 @@ -171,6 +177,17 @@ multilib_src_compile() { fi } +multilib_src_install() { + default + + # bug #934370 and bug #450436 + if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/liblzma.so" ]] ; then + eerror "Sanity check for liblzma.so failed." + eerror "Shared library wasn't built, possible libtool bug" + [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "liblzma.so not found in build, aborting" + fi +} + multilib_src_install_all() { find "${ED}" -type f -name '*.la' -delete || die |