diff --git a/srcpkgs/libcxx/patches/ssp_nonshared.patch b/srcpkgs/libcxx/patches/ssp_nonshared.patch new file mode 100644 index 0000000000..10e4dc3659 --- /dev/null +++ b/srcpkgs/libcxx/patches/ssp_nonshared.patch @@ -0,0 +1,11 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -769,6 +769,8 @@ function(cxx_link_system_libraries target) + target_link_libraries(${target} PRIVATE atomic) + endif() + ++#ssp target_link_libraries(${target} PRIVATE ssp_nonshared) ++ + if (MINGW) + target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}") + endif() diff --git a/srcpkgs/libcxx/template b/srcpkgs/libcxx/template index 95a16bccf5..87c400883a 100644 --- a/srcpkgs/libcxx/template +++ b/srcpkgs/libcxx/template @@ -1,21 +1,27 @@ # Template file for 'libcxx' pkgname=libcxx -version=10.0.0 +version=11.0.0 revision=1 wrksrc="${pkgname}-${version}.src" build_style=cmake configure_args+=" -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON -DLIBCXX_CXX_ABI_LIBRARY_PATH=${XBPS_CROSS_BASE}/usr/lib -DLIBCXXABI_USE_LLVM_UNWINDER=1" -hostmakedepends="llvm10 clang-tools-extra python3" -makedepends="libcxxabi-devel llvm10 llvm-libunwind-devel" +hostmakedepends="llvm11 clang-tools-extra python3" +makedepends="libcxxabi-devel llvm11 llvm-libunwind-devel" make_build_args="VERBOSE=1" short_desc="New implementation of the C++ standard library, targeting C++11, C++14 and above" maintainer="Orphaned " license="NCSA, MIT" homepage="https://libcxx.llvm.org" -distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxx-${version}.src.tar.xz" -checksum=270f8a3f176f1981b0f6ab8aa556720988872ec2b48ed3b605d0ced8d09156c7 +distfiles=" + https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxx-${version}.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxxabi-${version}.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz" +checksum=" + 6c1ee6690122f2711a77bc19241834a9219dda5036e1597bfa397f341a9b8b7a + 58697d4427b7a854ec7529337477eb4fba16407222390ad81a40d125673e4c15 + 913f68c898dfb4a03b397c5e11c6a2f39d0f22ed7665c9cefa87a34423a72469" case "$XBPS_TARGET_MACHINE" in *-musl) configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES" @@ -23,9 +29,20 @@ esac post_extract() { case "$XBPS_TARGET_MACHINE" in - *-musl) patch -Np1 <${FILESDIR}/libcxx-0001-musl-hacks.patch - sed -i 's/!defined(_GCC_MAX_ALIGN_T)/& \&\& !defined(__DEFINED_max_align_t)/' include/stddef.h ;; + *-musl) patch -Np1 <${FILESDIR}/libcxx-0001-musl-hacks.patch ;; esac + + # Since llvm 11, libcxxabi and llvm need to be present next to the libcxx root + mv ../libcxxabi-${version}.src ../libcxxabi + mv ../llvm-${version}.src ../llvm +} + +post_patch() { + case "$XBPS_TARGET_MACHINE" in + i686-musl|ppc-musl) ;; + *) return 0 ;; + esac + vsed -i 's,#ssp,,' CMakeLists.txt } post_install() {