diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 52 |
1 files changed, 35 insertions, 17 deletions
@@ -4,28 +4,28 @@ pkgbase=libc++ pkgname=(${pkgbase}{,abi,experimental}) -pkgver=5.0.1 +pkgver=6.0.0 pkgrel=1 -url="http://libcxx.llvm.org/" +url="https://libcxx.llvm.org/" license=('MIT' 'custom:University of Illinois/NCSA Open Source License') arch=('i686' 'x86_64') depends=('gcc-libs') -makedepends=('clang' 'cmake' 'python' 'libunwind') +makedepends=('clang' 'cmake' 'ninja' 'python' 'libunwind') source=("https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz"{,.sig} "https://releases.llvm.org/$pkgver/libcxx-$pkgver.src.tar.xz"{,.sig} "https://releases.llvm.org/$pkgver/libcxxabi-$pkgver.src.tar.xz"{,.sig}) noextract=("${source[@]##*/}") -sha512sums=('bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb' +sha512sums=('a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c' 'SKIP' - '994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c' + '3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3' 'SKIP' - 'a8d448653772690a19f68c1270f9cf18f27d7225847825f29c6ea21846c1074aa61c31b81bc2ae4007067985d389071c32e69b2560282ddb85864a99e9bdd884' + 'c5e4cc05105770b42b20595fdbda5e1483be4582bc94335da1a15531ba43a0ecf30e1e0a252f62d4d0e6c79cda9d44ff5fdbe69a0a295b2431fd6de158410e2e' 'SKIP') validpgpkeys=(# Tom Stellard <tom@stellard.net> (.1 releases) # https://pgp.mit.edu/pks/lookup?op=get&search=0x8F0871F202119294 11E521D646982372EB577A1F8F0871F202119294 # Hans Wennborg <hans@chromium.org> (.0 releases) - # http://releases.llvm.org/4.0.0/hans-gpg-key.asc + # https://releases.llvm.org/6.0.0/hans-gpg-key.asc B6C8F98282B944E3B0D5C2530FC3042E345AD05D) prepare() { @@ -48,29 +48,45 @@ prepare() { build() { cd build - CC=clang CXX=clang++ cmake \ - -G "Unix Makefiles" \ - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=On \ - -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=Off \ + cmake \ + -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=On \ + -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=Off \ ${srcdir}/llvm - make cxx cxx_experimental + ninja cxx cxx_experimental +} + +check() { + cd build + ninja check-cxx } package_libc++() { - pkgdesc='A new implementation of the C++ standard library, targeting C++11.' + pkgdesc='LLVM C++ standard library.' depends=("libc++abi=${pkgver}-${pkgrel}") cd ${srcdir}/build - make DESTDIR="${pkgdir}" install-libcxx + DESTDIR="${pkgdir}" ninja install-libcxx + + # Remove ABI headers. + rm "${pkgdir}/usr/include/c++/v1/cxxabi.h" + rm "${pkgdir}/usr/include/c++/v1/__cxxabi_config.h" + + # Remove experimental headers. + rm -rf "${pkgdir}/usr/include/c++/v1/experimental" + + # License. install -Dm644 ${srcdir}/llvm/projects/libcxx/CREDITS.TXT "${pkgdir}/usr/share/licenses/${pkgname}/CREDITS" install -Dm644 ${srcdir}/llvm/projects/libcxx/LICENSE.TXT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } package_libc++abi() { - pkgdesc='A new implementation of low level support for a standard C++ library' + pkgdesc='Low level support for the LLVM C++ standard library.' cd ${srcdir}/build - make DESTDIR="${pkgdir}" install-libcxxabi + DESTDIR="${pkgdir}" ninja install-libcxxabi install -Dm644 ${srcdir}/build/include/c++/v1/cxxabi.h "${pkgdir}/usr/include/c++/v1/cxxabi.h" install -Dm644 ${srcdir}/build/include/c++/v1/__cxxabi_config.h "${pkgdir}/usr/include/c++/v1/__cxxabi_config.h" install -Dm644 ${srcdir}/llvm/projects/libcxxabi/CREDITS.TXT "${pkgdir}/usr/share/licenses/${pkgname}/CREDITS" @@ -79,8 +95,10 @@ package_libc++abi() { package_libc++experimental() { depends=("libc++=$pkgver-$pkgrel") - pkgdesc='A new implementation of the C++ standard library, targeting C++11 (experimental library)' + pkgdesc='LLVM C++ experimental library.' install -Dm644 ${srcdir}/build/lib/libc++experimental.a ${pkgdir}/usr/lib/libc++experimental.a + install -d ${pkgdir}/usr/include/c++/v1/experimental + install -m644 ${srcdir}/build/include/c++/v1/experimental/* ${pkgdir}/usr/include/c++/v1/experimental install -Dm644 ${srcdir}/llvm/projects/libcxx/CREDITS.TXT "${pkgdir}/usr/share/licenses/${pkgname}/CREDITS" install -Dm644 ${srcdir}/llvm/projects/libcxx/LICENSE.TXT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } |