libcxx: update to 7.0.1.

[ci skip]
This commit is contained in:
Rasmus Thomsen 2018-10-02 15:01:09 +02:00 committed by maxice8
parent fe45841116
commit 4a92b2b1e0
No known key found for this signature in database
GPG Key ID: 543B9D4F4299F06B
1 changed files with 26 additions and 27 deletions

View File

@ -1,34 +1,41 @@
# Template file for 'libcxx' # Template file for 'libcxx'
pkgname=libcxx pkgname=libcxx
version=6.0.1 version=7.0.1
revision=1 revision=1
wrksrc="${pkgname}-${version}.src" wrksrc="${pkgname}-${version}.src"
build_style=cmake build_style=cmake
hostmakedepends="clang llvm python" 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="llvm7 python"
makedepends="libcxxabi-devel llvm llvm-libunwind-devel" makedepends="libcxxabi-devel llvm llvm-libunwind-devel"
make_build_args="VERBOSE=1" make_build_args="VERBOSE=1"
short_desc="New implementation of the C++ standard library, targeting C++11" short_desc="New implementation of the C++ standard library, targeting C++11"
maintainer="Juan RP <xtraeme@voidlinux.eu>" maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://libcxx.llvm.org" homepage="https://libcxx.llvm.org"
license="NCSA, MIT" license="NCSA, MIT"
distfiles="http://www.llvm.org/releases/${version}/${pkgname}-${version}.src.tar.xz" distfiles="https://www.llvm.org/releases/${version}/${pkgname}-${version}.src.tar.xz"
checksum=7654fbc810a03860e6f01a54c2297a0b9efb04c0b9aa0409251d9bdb3726fc67 checksum=020002618b319dc2a8ba1f2cba88b8cc6a209005ed8ad29f9de0c562c6ebb9f1
case "$XBPS_TARGET_MACHINE" in
arm*) _broken="libcxxabi doesn't build on arm." ;;
*) configure_args+="
-DLIBCXX_CXX_ABI=libcxxabi
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
-DLIBCXX_CXX_ABI_LIBRARY_PATH=${XBPS_CROSS_BASE}/usr/lib
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
"
LDFLAGS="-Wl,--no-as-needed -lunwind -Wl,--as-needed"
esac
case "$XBPS_TARGET_MACHINE" in case "$XBPS_TARGET_MACHINE" in
*-musl) configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES" *-musl) configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES"
esac esac
# Doesn't build on AArch64 with GCC
case "$XBPS_TARGET_MACHINE" in
aarch64*)
hostmakedepends+=" clang"
pre_configure() {
export CC="clang"
export CXX="clang++"
CFLAGS+=" --target=$XBPS_CROSS_TRIPLET --sysroot=${XBPS_CROSS_BASE}"
CXXFLAGS+=" --target=${XBPS_CROSS_TRIPLET} --sysroot=${XBPS_CROSS_BASE}"
}
;;
esac
post_extract() { post_extract() {
case "$XBPS_TARGET_MACHINE" in case "$XBPS_TARGET_MACHINE" in
*-musl) patch -Np1 <${FILESDIR}/libcxx-0001-musl-hacks.patch *-musl) patch -Np1 <${FILESDIR}/libcxx-0001-musl-hacks.patch
@ -36,18 +43,10 @@ post_extract() {
esac esac
} }
pre_configure() { post_install() {
export CC="clang" vlicense LICENSE.TXT
export CXX="clang++"
if [ "$CROSS_BUILD" ]; then
for _gccdir in /usr/lib/gcc/$XBPS_CROSS_TRIPLET/*.*.*; do
CFLAGS+=" --target=$XBPS_CROSS_TRIPLET --sysroot=/usr/$XBPS_CROSS_TRIPLET -B$_gccdir"
CXXFLAGS+=" --target=$XBPS_CROSS_TRIPLET --sysroot=/usr/$XBPS_CROSS_TRIPLET -B$_gccdir"
LDFLAGS+=" -L$_gccdir"
done
fi
} }
libcxx-devel_package() { libcxx-devel_package() {
short_desc+=" - development files" short_desc+=" - development files"
depends="${sourcepkg}>=${version}_${revision}" depends="${sourcepkg}>=${version}_${revision}"