From ae1bf373db295b495e1f685d116e3411bf10df0b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 31 Jul 2022 21:13:59 +0100 Subject: gentoo auto-resync : 31:07:2022 - 21:13:58 --- sys-libs/libcxx/Manifest | 2 +- sys-libs/libcxx/libcxx-15.0.0.9999.ebuild | 59 +++++++++++++++++++------------ 2 files changed, 37 insertions(+), 24 deletions(-) (limited to 'sys-libs/libcxx') 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() { -- cgit v1.2.3