summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkyechou2020-11-09 00:48:10 -0600
committerkyechou2020-11-09 00:48:10 -0600
commit938b8c741e14ac37ec38e9e67853ded74e02615e (patch)
tree7b358add677c54e84966bbca89ec37c1a342d6e4
downloadaur-938b8c741e14ac37ec38e9e67853ded74e02615e.tar.gz
Initial commit: 10.0.1
-rw-r--r--.SRCINFO45
-rw-r--r--PKGBUILD95
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
+}