diff options
author | Jacob Floyd <cognifloyd@gmail.com> | 2020-12-20 15:24:14 -0600 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2020-12-27 10:49:31 +0100 |
commit | a4b70b6b132e2c1f16abe441effa7da73382a94a (patch) | |
tree | c62bdd8bac2f3a293c18c19762e4b9ce78ca4658 | |
parent | media-libs/lcms: security cleanup (drop <2.11) (diff) | |
download | gentoo-a4b70b6b132e2c1f16abe441effa7da73382a94a.tar.gz gentoo-a4b70b6b132e2c1f16abe441effa7da73382a94a.tar.bz2 gentoo-a4b70b6b132e2c1f16abe441effa7da73382a94a.zip |
sys-libs/libcxxabi: fix prefix bootstrap
When bootstrapping prefix on darwin, libcxxabi must be installed before
llvm is built during stage2 (in EPREFIX/tmp) and during stage3 (in
EPREFIX). llvm_pkg_setup, however, identifies the *installed* llvm to
set environment variables with the correct path to llvm. Since llvm is
not installed, we have to skip that step. But during bootstrap, we don't
need those environment vars to be modified anyway because
bootstrap-prefix.sh already sets them with the paths to the correct llvm
(which is the host's llm during stage2 and the EPREFIX/tmp llvm during
stage3).
Once stage3 is complete, llvm is installed in EPREFIX, so the system
rebuild (with `emerge -e system`) will successfully use llvm_pkg_setup.
bootstrap-prefix.sh is no longer controlling the vars at that point, so
it is important to allow llvm_pkg_setup to correctly modify the vars.
This also keywords the ebuild with ~x64-macos.
Bug: https://bugs.gentoo.org/758167
Signed-off-by: Jacob Floyd <cognifloyd@gmail.com>
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-rw-r--r-- | sys-libs/libcxxabi/libcxxabi-11.0.0.ebuild | 8 | ||||
-rw-r--r-- | sys-libs/libcxxabi/libcxxabi-11.0.1.9999.ebuild | 6 | ||||
-rw-r--r-- | sys-libs/libcxxabi/libcxxabi-11.0.1_rc1.ebuild | 6 | ||||
-rw-r--r-- | sys-libs/libcxxabi/libcxxabi-11.0.1_rc2.ebuild | 6 | ||||
-rw-r--r-- | sys-libs/libcxxabi/libcxxabi-12.0.0.9999.ebuild | 6 |
5 files changed, 26 insertions, 6 deletions
diff --git a/sys-libs/libcxxabi/libcxxabi-11.0.0.ebuild b/sys-libs/libcxxabi/libcxxabi-11.0.0.ebuild index 8b660d054c74..927f9e62f519 100644 --- a/sys-libs/libcxxabi/libcxxabi-11.0.0.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-11.0.0.ebuild @@ -16,7 +16,7 @@ llvm.org_set_globals LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="amd64 arm arm64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos" IUSE="+libunwind +static-libs test elibc_musl" RESTRICT="!test? ( test )" @@ -39,7 +39,11 @@ python_check_deps() { } pkg_setup() { - llvm_pkg_setup + # darwin prefix builds do not have llvm installed yet, so rely on bootstrap-prefix + # to set the appropriate path vars to LLVM instead of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then + llvm_pkg_setup + fi use test && python-any-r1_pkg_setup } diff --git a/sys-libs/libcxxabi/libcxxabi-11.0.1.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-11.0.1.9999.ebuild index c1992223348b..954ae0315808 100644 --- a/sys-libs/libcxxabi/libcxxabi-11.0.1.9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-11.0.1.9999.ebuild @@ -41,7 +41,11 @@ python_check_deps() { } pkg_setup() { - llvm_pkg_setup + # darwin prefix builds do not have llvm installed yet, so rely on bootstrap-prefix + # to set the appropriate path vars to LLVM instead of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then + llvm_pkg_setup + fi use test && python-any-r1_pkg_setup } diff --git a/sys-libs/libcxxabi/libcxxabi-11.0.1_rc1.ebuild b/sys-libs/libcxxabi/libcxxabi-11.0.1_rc1.ebuild index c1992223348b..954ae0315808 100644 --- a/sys-libs/libcxxabi/libcxxabi-11.0.1_rc1.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-11.0.1_rc1.ebuild @@ -41,7 +41,11 @@ python_check_deps() { } pkg_setup() { - llvm_pkg_setup + # darwin prefix builds do not have llvm installed yet, so rely on bootstrap-prefix + # to set the appropriate path vars to LLVM instead of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then + llvm_pkg_setup + fi use test && python-any-r1_pkg_setup } diff --git a/sys-libs/libcxxabi/libcxxabi-11.0.1_rc2.ebuild b/sys-libs/libcxxabi/libcxxabi-11.0.1_rc2.ebuild index c1992223348b..954ae0315808 100644 --- a/sys-libs/libcxxabi/libcxxabi-11.0.1_rc2.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-11.0.1_rc2.ebuild @@ -41,7 +41,11 @@ python_check_deps() { } pkg_setup() { - llvm_pkg_setup + # darwin prefix builds do not have llvm installed yet, so rely on bootstrap-prefix + # to set the appropriate path vars to LLVM instead of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then + llvm_pkg_setup + fi use test && python-any-r1_pkg_setup } diff --git a/sys-libs/libcxxabi/libcxxabi-12.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-12.0.0.9999.ebuild index c1992223348b..954ae0315808 100644 --- a/sys-libs/libcxxabi/libcxxabi-12.0.0.9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-12.0.0.9999.ebuild @@ -41,7 +41,11 @@ python_check_deps() { } pkg_setup() { - llvm_pkg_setup + # darwin prefix builds do not have llvm installed yet, so rely on bootstrap-prefix + # to set the appropriate path vars to LLVM instead of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then + llvm_pkg_setup + fi use test && python-any-r1_pkg_setup } |