summaryrefslogtreecommitdiff
path: root/sys-libs/libcxx
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-31 21:13:59 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-31 21:13:59 +0100
commitae1bf373db295b495e1f685d116e3411bf10df0b (patch)
treec932e36e049f06d2da6c60316ffb2aaa27e11eb4 /sys-libs/libcxx
parent2cfae1fadeca2d0c51a301318c96c2cf5073eb6f (diff)
gentoo auto-resync : 31:07:2022 - 21:13:58
Diffstat (limited to 'sys-libs/libcxx')
-rw-r--r--sys-libs/libcxx/Manifest2
-rw-r--r--sys-libs/libcxx/libcxx-15.0.0.9999.ebuild59
2 files changed, 37 insertions, 24 deletions
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 2116baddf977..b439798a1f4b 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -9,5 +9,5 @@ DIST llvmorg-14.0.4.tar.gz 158088617 BLAKE2B 7fb894548dce72593a8639b4d0220d24995
EBUILD libcxx-13.0.1.ebuild 6780 BLAKE2B 575c9089d74bddc871e97147c53f7c298cd1683b989eba6b50601b45693c11d0647e3bd6f70c0a75caaea7ee3fea2f88f1bbad444d7f1785a62175337659e2e3 SHA512 f0ff78e48acca25cb925aee5106fba0d547ab8522ccfd65e2198d4f481f83abbadc415ac3808e45387fc945980f9892fdbda3b6a26d54163cebfa4f12fa17172
EBUILD libcxx-14.0.4.ebuild 6958 BLAKE2B e756b18011f0097115d4bc692fc4eb84c84d0ac68694b4611e4f73a032cb3b04e1137f7089b7b7dc4d0b37d1463465a791e468110c3c61438728eb90e7b9425f SHA512 fc0bde903c11f74f78f1d432bb0f5c15d002fd8c390719c6e4b9d77f1459c0397346b97c3cc51d75b34a486adb9b7992e646e5d043b3f278e46560d56e9d43cd
EBUILD libcxx-14.0.6.ebuild 6961 BLAKE2B 9f04467faee5cd162906a77764b3ee4af20f3f7b7821c00a078293c922912111f88ba479bbc9effc363284bfafcac71ec9a42db26ea73c8469670408b3de0d96 SHA512 40fdd13646e02c3fb2cd54dab00a5ff41e7b8fa523d197119aac5e19d0540b35cf5d5bbc770d2511179807883af122f764e2da9918e685ae5b811930dfeb47ad
-EBUILD libcxx-15.0.0.9999.ebuild 7106 BLAKE2B 77e452201191ab5e913eb53f7869ade436c655ec83627ee481ef80285c7fc6ba41198029e7a042cfc7c88883c8840702309cdfe6ffcdd53e9e5255c25e01fe96 SHA512 60415c895c622f64ab6fd5c984d44621510307908326e5de415610f757fbd03b79fa893c572a7b7f479908751ce57d4046e0798a3f55981bb7673dd53543ff6b
+EBUILD libcxx-15.0.0.9999.ebuild 7161 BLAKE2B 003e9af70722b09e98efb51ead68533dff908a6f36ea6b9d73faa8be1e64c5e2d14c229bd3fefd4b56910ab4fd2d2cd7e068a60f1f6ffebca55ac7cfff47f83f SHA512 fae292ba51bbee7c2df22d58ce377161fdbaa5150e2f46197e2763741e858a80f3cdce13fa1ed22d0ff6aff276bc8217d1bc785f4ab30832abffbb438038689f
MISC metadata.xml 828 BLAKE2B 40af456df8ac1cfdb66fd62a217abbb4ca837956529906118c35232000435d9e991d18dd0332b7b95eed70d4c7610c7a1aee80af8ba511763edc1423749a4aa4 SHA512 257f8fd05fcade26ca02305356b67c8e2d67a87b180e38a189a659212093b07b9a710b871fbaab894dba9eba5fe450b76c52cc82f6405c24cc1ab2df3abe8bfd
diff --git a/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild
index 22e74228d61a..3acf567e062b 100644
--- a/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-15.0.0.9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
CMAKE_ECLASS=cmake
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \
toolchain-funcs
@@ -177,11 +177,29 @@ multilib_src_configure() {
cmake_src_configure
}
+multilib_src_compile() {
+ cmake_src_compile
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ gen_shared_ldscript
+ use static-libs && gen_static_ldscript
+ fi
+}
+
multilib_src_test() {
local -x LIT_PRESERVES_TMP=1
cmake_build check-cxx
}
+multilib_src_install() {
+ cmake_src_install
+ # since we've replaced libc++.{a,so} with ldscripts, now we have to
+ # install the extra symlinks
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ dolib.so lib/libc++_shared.so
+ use static-libs && dolib.a lib/libc++_static.a
+ fi
+}
+
# Usage: deps
gen_ldscript() {
local output_format
@@ -198,38 +216,33 @@ END_LDSCRIPT
}
gen_static_ldscript() {
- local libdir=$(get_libdir)
- local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "libsupc++.a")
-
# Move it first.
- mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+ mv lib/libc++{,_static}.a || die
# Generate libc++.a ldscript for inclusion of its dependencies so that
# clang++ -stdlib=libc++ -static works out of the box.
- local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+ local deps=(
+ libc++_static.a
+ $(usex libcxxabi libc++abi.a libsupc++.a)
+ $(usex libunwind libunwind.a libgcc_eh.a)
+ )
# On Linux/glibc it does not link without libpthread or libdl. It is
# fine on FreeBSD.
- use elibc_glibc && deps+=" libpthread.a libdl.a"
+ use elibc_glibc && deps+=( libpthread.a libdl.a )
- gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+ gen_ldscript "${deps[*]}" > lib/libc++.a || die
}
gen_shared_ldscript() {
- local libdir=$(get_libdir)
- # libsupc++ doesn't have a shared version
- local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "libsupc++.a")
-
- mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
- local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
-
- gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
-}
+ # Move it first.
+ mv lib/libc++{,_shared}.so || die
+ local deps=(
+ libc++_shared.so
+ # libsupc++ doesn't have a shared version
+ $(usex libcxxabi libc++abi.so libsupc++.a)
+ $(usex libunwind libunwind.so libgcc_s.so)
+ )
-multilib_src_install() {
- cmake_src_install
- if [[ ${CHOST} != *-darwin* ]] ; then
- gen_shared_ldscript
- use static-libs && gen_static_ldscript
- fi
+ gen_ldscript "${deps[*]}" > lib/libc++.so || die
}
pkg_postinst() {