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 60A45158020 for ; Wed, 19 Oct 2022 03:15:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4231EE0894; Wed, 19 Oct 2022 03:15:18 +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 292C7E0894 for ; Wed, 19 Oct 2022 03:15:18 +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 F3A41340B1F for ; Wed, 19 Oct 2022 03:15:16 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 5E9D25F7 for ; Wed, 19 Oct 2022 03:15:15 +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: <1666149253.884319a75efc97f367338fc9d2f099e7bc1b2b6b.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-libs/libxcrypt/libxcrypt-4.4.28-r2.ebuild sys-libs/libxcrypt/metadata.xml X-VCS-Directories: sys-libs/libxcrypt/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 884319a75efc97f367338fc9d2f099e7bc1b2b6b X-VCS-Branch: master Date: Wed, 19 Oct 2022 03:15:15 +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: eb71cfd0-5889-4b8c-905c-80aa071575b1 X-Archives-Hash: 0a176b9f925fc2bfbfa54c4ec77118ee commit: 884319a75efc97f367338fc9d2f099e7bc1b2b6b Author: Adrian Ratiu collabora com> AuthorDate: Tue Oct 18 17:18:35 2022 +0000 Commit: Sam James gentoo org> CommitDate: Wed Oct 19 03:14:13 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=884319a7 sys-libs/libxcrypt: add headers-only install While bootstrapping a pure LLVM based toolchain, compiler-rt-sanitizers depends on crypt.h, but libxcrypt cannot be built yet because it requires a working compiler runtime, so the solution is: 1. Install libxcrypt headers-only 2. Build compiler-rt-sanitizers & the rest of llvm/clang 3. Build full libxcrypt Thus we add the ability to install libxcrypt headers-only, similar to how glibc does it. Closes: https://bugs.gentoo.org/877567 Signed-off-by: Adrian Ratiu collabora.com> Closes: https://github.com/gentoo/gentoo/pull/27840 Signed-off-by: Sam James gentoo.org> sys-libs/libxcrypt/libxcrypt-4.4.28-r2.ebuild | 18 ++++++++++++++++-- sys-libs/libxcrypt/metadata.xml | 1 + 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.28-r2.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.28-r2.ebuild index 3f390bf67ca3..430e3dc385ed 100644 --- a/sys-libs/libxcrypt/libxcrypt-4.4.28-r2.ebuild +++ b/sys-libs/libxcrypt/libxcrypt-4.4.28-r2.ebuild @@ -21,7 +21,7 @@ fi LICENSE="LGPL-2.1+ public-domain BSD BSD-2" SLOT="0/1" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="+compat split-usr static-libs system test" +IUSE="+compat split-usr static-libs system test headers-only" REQUIRED_USE="split-usr? ( system )" RESTRICT="!test? ( test )" @@ -209,10 +209,18 @@ multilib_src_configure() { *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";; esac - ECONF_SOURCE="${S}" econf "${myconf[@]}" + if use headers-only; then + # Nothing is compiled here which would affect the headers for the target. + # So forcing CC is sane. + headers_only_flags="CC=$(tc-getBUILD_CC)" + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" "${headers_only_flags}" } src_compile() { + use headers-only && return + multibuild_foreach_variant multilib-minimal_src_compile } @@ -227,6 +235,7 @@ src_test() { src_install() { multibuild_foreach_variant multilib-minimal_src_install + use headers-only || \ ( shopt -s failglob || die "failglob failed" @@ -250,6 +259,11 @@ src_install() { } multilib_src_install() { + if use headers-only; then + emake DESTDIR="${D}" install-nodist_includeHEADERS + return + fi + emake DESTDIR="${D}" install # Don't install the libcrypt.so symlink for the "compat" version diff --git a/sys-libs/libxcrypt/metadata.xml b/sys-libs/libxcrypt/metadata.xml index 36921daf30b5..cef5e501f632 100644 --- a/sys-libs/libxcrypt/metadata.xml +++ b/sys-libs/libxcrypt/metadata.xml @@ -13,6 +13,7 @@ Build with compatibility interfaces for other crypt implementations Install as system libcrypt.so rather than to an alternate directory (will collide with sys-libs/glibc's version) + Build and install only the headers. besser82/libxcrypt