diff options
author | kyechou | 2020-11-09 00:48:10 -0600 |
---|---|---|
committer | kyechou | 2020-11-09 00:48:10 -0600 |
commit | 938b8c741e14ac37ec38e9e67853ded74e02615e (patch) | |
tree | 7b358add677c54e84966bbca89ec37c1a342d6e4 | |
download | aur-938b8c741e14ac37ec38e9e67853ded74e02615e.tar.gz |
Initial commit: 10.0.1
-rw-r--r-- | .SRCINFO | 45 | ||||
-rw-r--r-- | PKGBUILD | 95 |
2 files changed, 140 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..0c42b1743c3c --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,45 @@ +pkgbase = klee-libc++ + pkgver = 10.0.1 + pkgrel = 1 + url = https://libcxx.llvm.org/ + arch = i686 + arch = x86_64 + license = custom:Apache 2.0 with LLVM Exception + makedepends = clang + makedepends = cmake + makedepends = llvm + makedepends = libunwind + makedepends = ninja + makedepends = python + makedepends = wllvm-git + depends = gcc-libs + noextract = llvm-10.0.1.src.tar.xz + noextract = libcxx-10.0.1.src.tar.xz + noextract = libcxxabi-10.0.1.src.tar.xz + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/llvm-10.0.1.src.tar.xz + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/libcxx-10.0.1.src.tar.xz + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/libcxxabi-10.0.1.src.tar.xz + sha512sums = cf34d037c1684d09e7e38d5fc131714eac93c78353d6186b2f806a8fb22dcae0f4748ce22d6faf178c95cfcf20bdc3fa7c5238518a154b3112781f5ab70edaa4 + sha512sums = edc756751c8386f1868582d1974ef817ca5de34283474e0df3ce5df8ae213ca0601a5a1e089d09bdbfa8fca6c3f2fb2daa5cca8ca134f47dad738cc90f3c3f71 + sha512sums = 1c58081e11746d5b63123dfb81b562eba925b31dc1a09413663c622a2cd56e8d17a2f184f6c3d78be292719fcc13f08aecaf9442f15b50682bd031416fe58a45 + +pkgname = klee-libc++ + pkgdesc = LLVM C++ standard library for KLEE. + depends = libc++=10.0.1 + depends = klee-libc++abi=10.0.1-1 + options = staticlibs + options = !strip + +pkgname = klee-libc++abi + pkgdesc = Low level support for the LLVM C++ standard library for KLEE. + depends = libc++abi=10.0.1 + options = staticlibs + options = !strip + +pkgname = klee-libc++experimental + pkgdesc = LLVM C++ experimental library for KLEE. + depends = libc++experimental=10.0.1 + depends = klee-libc++=10.0.1-1 + options = staticlibs + options = !strip + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..de2be0a6a6d5 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,95 @@ +# Maintainer: Llewelyn Trahaearn <woefulderelict [at] gmail [dot] com> +# Contributor: Daniel Micay <danielmicay [at] gmail [dot] com> +# Contributor: MThinkCpp <mtc [dot] maintainer [at] outlook [dot] com> + +pkgbase=klee-libc++ +pkgname=(${pkgbase}{,abi,experimental}) +pkgver=10.0.1 +pkgrel=1 +url="https://libcxx.llvm.org/" +license=('custom:Apache 2.0 with LLVM Exception') +arch=('i686' 'x86_64') +depends=('gcc-libs') +makedepends=('clang' 'cmake' 'llvm' 'libunwind' 'ninja' 'python' 'wllvm-git') +source=("https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-$pkgver.src.tar.xz" + "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/libcxx-$pkgver.src.tar.xz" + "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/libcxxabi-$pkgver.src.tar.xz") +noextract=("${source[@]##*/}") +sha512sums=('cf34d037c1684d09e7e38d5fc131714eac93c78353d6186b2f806a8fb22dcae0f4748ce22d6faf178c95cfcf20bdc3fa7c5238518a154b3112781f5ab70edaa4' + 'edc756751c8386f1868582d1974ef817ca5de34283474e0df3ce5df8ae213ca0601a5a1e089d09bdbfa8fca6c3f2fb2daa5cca8ca134f47dad738cc90f3c3f71' + '1c58081e11746d5b63123dfb81b562eba925b31dc1a09413663c622a2cd56e8d17a2f184f6c3d78be292719fcc13f08aecaf9442f15b50682bd031416fe58a45') + +prepare() { + mkdir -p build llvm/projects/libcxx llvm/projects/libcxxabi + bsdtar --strip-components 1 -zxf "${source[0]##*/}" -C llvm + bsdtar --strip-components 1 -zxf "${source[1]##*/}" -C llvm/projects/libcxx + bsdtar --strip-components 1 -zxf "${source[2]##*/}" -C llvm/projects/libcxxabi + sed -i 's/CREDITS.TXT/CREDITS/' llvm/projects/libcxx/LICENSE.TXT llvm/projects/libcxxabi/LICENSE.TXT +} + +build() { + cd "$srcdir/build" + # https://wiki.archlinux.org/index.php/Clang#Build_packages_with_Clang + CFLAGS=${CFLAGS/-fvar-tracking-assignments} + CXXFLAGS=${CXXFLAGS/-fvar-tracking-assignments} + export CC=wllvm + export CXX=wllvm++ + export LLVM_COMPILER=clang + export LLVM_COMPILER_PATH=/usr/bin + + cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_C_COMPILER=wllvm \ + -DCMAKE_CXX_COMPILER=wllvm++ \ + -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=NO \ + "$srcdir/llvm" + ninja cxx cxxabi cxx_experimental + + local libraries=("$srcdir"/build/lib/lib*.{a,so*}) + for p in "${libraries[@]}"; do + filetype="$(file -L "$p")" + if [[ "$filetype" == *"ar archive"* || "$filetype" == *"shared object"* ]]; then + echo -- extract-bc "$p" + extract-bc "$p" + else + echo -- Ignore "$p" + fi + done +} + +package_klee-libc++() { + pkgdesc='LLVM C++ standard library for KLEE.' + depends=("libc++=$pkgver" "klee-libc++abi=$pkgver-$pkgrel") + options=('staticlibs' '!strip') + + cd "$srcdir/build" + install -Dm0644 -t "$pkgdir"/usr/lib/ "$srcdir"/build/lib/libc++.bca + install -Dm0644 -t "$pkgdir"/usr/lib/ "$srcdir"/build/lib/libc++.so*.bc + ln -s libc++.so.1.bc "$pkgdir"/usr/lib/libc++.so.bc + install -Dm0644 "$srcdir"/llvm/projects/libcxx/CREDITS.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/CREDITS + install -Dm0644 "$srcdir"/llvm/projects/libcxx/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE +} + +package_klee-libc++abi() { + pkgdesc='Low level support for the LLVM C++ standard library for KLEE.' + depends=("libc++abi=$pkgver") + options=('staticlibs' '!strip') + + cd "$srcdir/build" + install -Dm0644 -t "$pkgdir"/usr/lib/ "$srcdir"/build/lib/libc++abi.bca + install -Dm0644 -t "$pkgdir"/usr/lib/ "$srcdir"/build/lib/libc++abi.so*.bc + install -Dm0644 "$srcdir"/llvm/projects/libcxxabi/CREDITS.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/CREDITS + install -Dm0644 "$srcdir"/llvm/projects/libcxxabi/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE +} + +package_klee-libc++experimental() { + pkgdesc='LLVM C++ experimental library for KLEE.' + depends=("libc++experimental=$pkgver" "klee-libc++=$pkgver-$pkgrel") + options=('staticlibs' '!strip') + + install -Dm0644 -t "$pkgdir"/usr/lib/ "$srcdir"/build/lib/libc++experimental.bca + install -Dm0644 "$srcdir"/llvm/projects/libcxx/CREDITS.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/CREDITS + install -Dm0644 "$srcdir"/llvm/projects/libcxx/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE +} |