From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id CCEE415817D for ; Sat, 15 Jun 2024 22:46:08 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EFAC92BC013; Sat, 15 Jun 2024 22:46:07 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C28EE2BC013 for ; Sat, 15 Jun 2024 22:46:07 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id D08B933BF29 for ; Sat, 15 Jun 2024 22:46:06 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 130FE14B0 for ; Sat, 15 Jun 2024 22:46:05 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1718491526.25171b1f5847b461145906ac2bc230c462f62c21.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-arch/xz-utils/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild app-arch/xz-utils/xz-utils-9999.ebuild X-VCS-Directories: app-arch/xz-utils/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 25171b1f5847b461145906ac2bc230c462f62c21 X-VCS-Branch: master Date: Sat, 15 Jun 2024 22:46:05 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 38f1605a-41f6-48e4-96b5-5f9fb711a420 X-Archives-Hash: a56aca50feb506f912c2165ed741c3e0 commit: 25171b1f5847b461145906ac2bc230c462f62c21 Author: Sam James gentoo org> AuthorDate: Sat Jun 15 22:41:30 2024 +0000 Commit: Sam James gentoo org> CommitDate: Sat Jun 15 22:45:26 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25171b1f app-arch/xz-utils: workaround libtool bug preventing shared library build * Fix detection of `file` with libtool-2.5.0 (which xz-5.4.7, xz.5.6.2 had dist tarballs created with). This only affects some targets. See bug #934370. See https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=development&id=9a4a02615c9e7cbcfd690ed31874822a7d6aaea2. * Add a sanity check for targets which support shared libraries where we verify liblzma.so is in the image. Use tc-is-static-only to handle the concern from bug #450436. Bug: https://bugs.gentoo.org/450436 Closes: https://bugs.gentoo.org/934370 Signed-off-by: Sam James gentoo.org> ...-utils-9999.ebuild => xz-utils-5.4.7-r1.ebuild} | 67 ++++++---------------- ...-utils-9999.ebuild => xz-utils-5.6.2-r1.ebuild} | 15 +++++ app-arch/xz-utils/xz-utils-9999.ebuild | 15 +++++ 3 files changed, 47 insertions(+), 50 deletions(-) diff --git a/app-arch/xz-utils/xz-utils-9999.ebuild b/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild similarity index 72% copy from app-arch/xz-utils/xz-utils-9999.ebuild copy to app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild index a5c27989d3cc..2b5beefd93f6 100644 --- a/app-arch/xz-utils/xz-utils-9999.ebuild +++ b/app-arch/xz-utils/xz-utils-5.4.7-r1.ebuild @@ -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="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )" +LICENSE="public-domain LGPL-2.1+ GPL-2+" SLOT="0" -IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs" +IUSE="doc +extra-filters pgo nls static-libs" if [[ ${PV} != 9999 ]] ; then BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20240529 )" @@ -66,12 +66,15 @@ 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) $(use_enable nls) $(use_enable static-libs static) - $(use_enable cpu_flags_arm_crc32 arm64-crc32) ) if ! multilib_is_native_abi ; then @@ -106,7 +109,6 @@ 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)") @@ -116,52 +118,6 @@ multilib_src_compile() { 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 @@ -171,6 +127,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 diff --git a/app-arch/xz-utils/xz-utils-9999.ebuild b/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild similarity index 91% copy from app-arch/xz-utils/xz-utils-9999.ebuild copy to app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild index a5c27989d3cc..e63700af983e 100644 --- a/app-arch/xz-utils/xz-utils-9999.ebuild +++ b/app-arch/xz-utils/xz-utils-5.6.2-r1.ebuild @@ -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) @@ -171,6 +175,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 diff --git a/app-arch/xz-utils/xz-utils-9999.ebuild b/app-arch/xz-utils/xz-utils-9999.ebuild index a5c27989d3cc..e63700af983e 100644 --- a/app-arch/xz-utils/xz-utils-9999.ebuild +++ b/app-arch/xz-utils/xz-utils-9999.ebuild @@ -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) @@ -171,6 +175,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