aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2018-10-12 19:04:46 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2018-10-12 19:04:46 +0000
commit7b958a9fb9900c1447c577cc16a838177b2ad647 (patch)
tree65bcda2596292afbd5c0b94631e9d397d743bfc8 /testing
parent5d9a3ff79d1bd8fe3e7e296e62efb6de2d96bcd4 (diff)
testing/libc++: move to unmaintained
Diffstat (limited to 'testing')
-rw-r--r--testing/libc++/APKBUILD101
-rw-r--r--testing/libc++/avoid-strtoll_l.patch23
-rw-r--r--testing/libc++/check-for-musl-libcs-max_align_t.patch18
-rw-r--r--testing/libc++/disable-broken-tests.patch68
-rw-r--r--testing/libc++/no-libunwind-sources.patch44
5 files changed, 0 insertions, 254 deletions
diff --git a/testing/libc++/APKBUILD b/testing/libc++/APKBUILD
deleted file mode 100644
index ee79d616725..00000000000
--- a/testing/libc++/APKBUILD
+++ /dev/null
@@ -1,101 +0,0 @@
-# Contributor: Dmitry Golovin <dima@golovin.in>
-# Contributor: Shiz <hi@shiz.me>
-# Maintainer: Shiz <hi@shiz.me>
-pkgname=libc++
-pkgver=4.0.0
-pkgrel=1
-_llvmver=${pkgver%%.*}
-pkgdesc="A new implementation of the C++ standard library, targeting C++11"
-url="https://libcxx.llvm.org/"
-arch="all !ppc64le !s390x"
-license="UOI-NCSA"
-makedepends="cmake
- clang>=$_llvmver
- llvm-dev>=$_llvmver
- llvm-libunwind-dev>=$_llvmver
- llvm-static>=$_llvmver"
-checkdepends="lit"
-subpackages="$pkgname-dev"
-source="https://releases.llvm.org/$pkgver/libcxx-$pkgver.src.tar.xz
- https://releases.llvm.org/$pkgver/libcxxabi-$pkgver.src.tar.xz
- check-for-musl-libcs-max_align_t.patch
- avoid-strtoll_l.patch
- disable-broken-tests.patch
- no-libunwind-sources.patch"
-builddir="$srcdir"
-_cxxdir="$srcdir/libcxx-$pkgver.src"
-_abidir="$srcdir/libcxxabi-$pkgver.src"
-
-# Tests on armhf are too slooow, disable them for now.
-case "$CARCH" in
- armhf) options="!check";;
-esac
-
-prepare() {
- ln -s "$_cxxdir" "$srcdir"/libcxx
- ln -s "$_abidir" "$srcdir"/libcxxabi
- default_prepare
-}
-
-# Due a mutual build-time dependency between libc++abi and libc++, it is
-# preferable that we build them within the same APKBUILD to avoid duplication.
-# Since nothing else seems to need libc++abi and we need to compile it into
-# libc++ statically anyway to make -static with libc++ work, we don't actually
-# create libc++abi packages. If something arises that depends on libc++abi,
-# this may change, but for now this is the simplest approach.
-build() {
- mkdir -p "$_abidir"/build
- cd "$_abidir"/build
- cmake .. \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_CXX_COMPILER=clang++ \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_COMPILER=clang \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- -DLIBCXXABI_USE_LLVM_UNWINDER=ON \
- -DLIBCXXABI_LIBUNWIND_INCLUDES=/usr/include \
- -DLIBCXXABI_LIBCXX_INCLUDES="$_cxxdir"/include \
- -DLIBCXXABI_LIBCXX_LIBRARY_PATH="$_cxxdir"/build/lib \
- -DLIBCXXABI_INCLUDE_TESTS=1
- make
-
- mkdir -p "$_cxxdir"/build
- cd "$_cxxdir"/build
- cmake .. \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_CXX_COMPILER=clang++ \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_COMPILER=clang \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- -DLIBCXX_HAS_MUSL_LIBC=ON \
- -DLIBCXX_HAS_GCC_S_LIB=OFF \
- -DLIBCXX_CXX_ABI=libcxxabi \
- -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$_abidir"/include \
- -DLIBCXX_CXX_ABI_LIBRARY_PATH="$_abidir"/build/lib \
- -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON # needed to make -static work.
- make
-}
-
-check() {
- cd "$_abidir"/build
- make check-cxxabi
-
- cd "$_cxxdir"/build
- # XXX: Some tests fail due to fakeroot currently, and some other due
- # yet-uninvestigated causes.
- make check-cxx || true
-}
-
-package() {
- cd "$_cxxdir"/build
- make install DESTDIR="$pkgdir"
-}
-
-sha512sums="6dad794c00919955e14710def169cdcde8a1743431479e993c4a6a3c87c2fd9f5dbd6e17542e524981eed0783dce70384c356b74ef3c6d70598c6ff03454b1dd libcxx-4.0.0.src.tar.xz
-b69933a0bde00321323e98962cd54b78a48bc5e93448d7a5124cb5ef844497ba7648cd92fcbe476186c60c7742e3121841f150c142c2a14c1bf2aa26a8b93d64 libcxxabi-4.0.0.src.tar.xz
-6ad979fd7095940759cd1f51cc6d1d9a98dd78ecc51191f4d7bdbca834fcad7e5371ac6199512ca297267868bfbe1872258a903a03c98e7aa46700d31e79d24a check-for-musl-libcs-max_align_t.patch
-212bbc1bcbc4628754bdd5bc8a9109fa0032790a3c80517a647a26ee27c22daa417303a72b6cc92cfc099dcc7fd9a36e9d8899165ebe4a5ab14030eaa596bc9c avoid-strtoll_l.patch
-c3e4b9d68a9b7c7066f3a63c756fe682749d8d8abbfdf629d7ed085bbb5f69a1c2d79d0e53f036e0a5d9e501c48df15708560f3a4e6d68ac91c577572d181ccd disable-broken-tests.patch
-7d514667bbbb3b32286b91c1b96126cc795ea37db0c6ecdb6502422a4bd6a55553ff2b85ba6cec2969d9d88402713cc4544b9b895b516693a0e5f31a5d628da4 no-libunwind-sources.patch"
diff --git a/testing/libc++/avoid-strtoll_l.patch b/testing/libc++/avoid-strtoll_l.patch
deleted file mode 100644
index 7af37d0e0e1..00000000000
--- a/testing/libc++/avoid-strtoll_l.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-musl doesn't support strtoll_l(), so replace it with a simple strtoll() call.
-
-diff -Nru a/libcxx/include/locale b/libcxx/include/locale
---- a/libcxx/include/locale 2017-01-04 23:56:00.000000000 +0000
-+++ b/libcxx/include/locale 2017-05-14 23:43:07.867204323 +0000
-@@ -695,7 +695,7 @@
- typename remove_reference<decltype(errno)>::type __save_errno = errno;
- errno = 0;
- char *__p2;
-- long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
-+ long long __ll = strtoll(__a, &__p2, __base);
- typename remove_reference<decltype(errno)>::type __current_errno = errno;
- if (__current_errno == 0)
- errno = __save_errno;
-@@ -735,7 +735,7 @@
- typename remove_reference<decltype(errno)>::type __save_errno = errno;
- errno = 0;
- char *__p2;
-- unsigned long long __ll = strtoull_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
-+ unsigned long long __ll = strtoull(__a, &__p2, __base);
- typename remove_reference<decltype(errno)>::type __current_errno = errno;
- if (__current_errno == 0)
- errno = __save_errno;
diff --git a/testing/libc++/check-for-musl-libcs-max_align_t.patch b/testing/libc++/check-for-musl-libcs-max_align_t.patch
deleted file mode 100644
index 467306949a6..00000000000
--- a/testing/libc++/check-for-musl-libcs-max_align_t.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-libc++'s stddef.h uses non-standard macros to detect if max_align_t exists,
-which break on musl. We reluctantly add musl's non-public macro the list
-for now, but this should be fixed more fundamentally.
-
-diff --git a/libcxx/include/stddef.h b/libcxx/include/stddef.h
-index 8841bbe..faf8552 100644
---- a/libcxx/include/stddef.h
-+++ b/libcxx/include/stddef.h
-@@ -53,7 +53,8 @@ using std::nullptr_t;
- }
-
- // Re-use the compiler's <stddef.h> max_align_t where possible.
--#if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T)
-+#if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T) && \
-+ !defined(__DEFINED_max_align_t)
- typedef long double max_align_t;
- #endif
-
diff --git a/testing/libc++/disable-broken-tests.patch b/testing/libc++/disable-broken-tests.patch
deleted file mode 100644
index 84798765da9..00000000000
--- a/testing/libc++/disable-broken-tests.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-musl doesn't support the locale things that the locale requirements test, like
-localized money and decimal formatting.
-
-The syscat.errcat tests are broken and rely on the libc to return a specific
-string in the form of "Unknown error <n>" for unknown errnos when calling
-strerror(), which is not defined anywhere and libcs are free to return any
-string they want, up to and including "libcxx tests are silly".
-
-Similarly to glibc, musl uses "NaN" to format NaN long doubles, not "nan".
-Finally, musl uses "0" to indicate a NULL pointer as %p argument to *printf().
-
-diff -Nru a/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp b/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
---- a/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp 2016-06-14 06:37:36.000000000 +0000
-+++ b/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp 2017-05-15 01:08:24.868284337 +0000
-@@ -7,6 +7,8 @@
- //
- //===----------------------------------------------------------------------===//
-
-+// XFAIL: libcpp-has-musl-libc
-+
- // <system_error>
-
- // class error_category
-diff -Nru a/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp b/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
---- a/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp 2016-06-14 06:37:36.000000000 +0000
-+++ b/libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp 2017-05-15 01:08:09.171161729 +0000
-@@ -7,6 +7,8 @@
- //
- //===----------------------------------------------------------------------===//
-
-+// XFAIL: libcpp-has-musl-libc
-+
- // <system_error>
-
- // class error_category
-diff -Nru a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
---- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp 2016-12-24 01:07:54.000000000 +0000
-+++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp 2017-05-15 02:02:23.221864590 +0000
-@@ -18,6 +18,7 @@
-
- // TODO GLIBC uses a different string for positive and negative NAN numbers.
- // XFAIL: linux-gnu
-+// XFAIL: libcpp-has-musl-libc
-
- #include <locale>
- #include <ios>
-diff -Nru a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
---- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp 2017-05-15 02:01:56.842668781 +0000
-+++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp 2017-05-15 02:11:41.668288608 +0000
-@@ -38,6 +38,6 @@
- char str[50];
- output_iterator<char*> iter = f.put(output_iterator<char*>(str), ios, '*', v);
- std::string ex(str, iter.base());
-- assert(ex == "0x0" || ex == "(nil)");
-+ assert(ex == "0" || ex == "0x0" || ex == "(nil)");
- }
- }
-diff -Nru a/libcxx/test/libcxx/test/target_info.py b/libcxx/test/libcxx/test/target_info.py
---- a/libcxx/test/libcxx/test/target_info.py 2017-05-15 23:31:06.698175150 +0000
-+++ b/libcxx/test/libcxx/test/target_info.py 2017-05-15 23:34:59.805751050 +0000
-@@ -35,6 +35,7 @@
-
- def test_locale(loc):
- assert loc is not None
-+ return False
- default_locale = locale.setlocale(locale.LC_ALL)
- try:
- locale.setlocale(locale.LC_ALL, loc)
diff --git a/testing/libc++/no-libunwind-sources.patch b/testing/libc++/no-libunwind-sources.patch
deleted file mode 100644
index d9c31051b54..00000000000
--- a/testing/libc++/no-libunwind-sources.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Shiz created this revision.
-Herald added a subscriber: mgorny.
-
-As per r241993, libunwind_ext.h is not used anymore, and thus only the public libunwind includes are needed.
-This eases distro packaging efforts and removes an unneeded requirement for out-of-tree building.
-
-
-Repository:
- rL LLVM
-
-https://reviews.llvm.org/D33178
-
-Files:
- libcxxabi/CMakeLists.txt
-
-
-Index: libcxxabi/CMakeLists.txt
-===================================================================
---- a/libcxxabi/CMakeLists.txt
-+++ b/libcxxabi/CMakeLists.txt
-@@ -459,23 +459,7 @@
- NO_DEFAULT_PATH
- )
-
-- find_path(
-- LIBCXXABI_LIBUNWIND_SOURCES
-- libunwind_ext.h
-- PATHS ${LIBCXXABI_LIBUNWIND_PATH}/src/
-- ${LIBCXXABI_LIBUNWIND_INCLUDES}/../src/
-- ${LLVM_MAIN_SRC_DIR}/projects/libunwind/src/
-- ${LLVM_MAIN_SRC_DIR}/runtimes/libunwind/src/
-- NO_DEFAULT_PATH
-- )
--
-- if (LIBCXXABI_LIBUNWIND_SOURCES STREQUAL "LIBCXXABI_LIBUNWIND_SOURCES-NOTFOUND")
-- message(WARNING "LIBCXXABI_LIBUNWIND_SOURCES was not specified and couldn't be infered.")
-- set(LIBCXXABI_LIBUNWIND_SOURCES "")
-- endif()
--
- include_directories("${LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL}")
-- include_directories("${LIBCXXABI_LIBUNWIND_SOURCES}")
- endif()
-
- # Add source code. This also contains all of the logic for deciding linker flags