summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkyechou2020-11-09 09:37:56 -0600
committerkyechou2020-11-09 09:37:56 -0600
commit52976aea304b5273903efec31a99c503fa6e39b2 (patch)
treeb23b806723c2f8897e709f446afc32d1e15a8f12
parent938b8c741e14ac37ec38e9e67853ded74e02615e (diff)
downloadaur-52976aea304b5273903efec31a99c503fa6e39b2.tar.gz
Fix bugs and replace libc++
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD55
2 files changed, 44 insertions, 28 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0c42b1743c3c..a54dc8fff220 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = klee-libc++
pkgver = 10.0.1
- pkgrel = 1
+ pkgrel = 2
url = https://libcxx.llvm.org/
arch = i686
arch = x86_64
@@ -11,7 +11,7 @@ pkgbase = klee-libc++
makedepends = libunwind
makedepends = ninja
makedepends = python
- makedepends = wllvm-git
+ makedepends = gllvm-git
depends = gcc-libs
noextract = llvm-10.0.1.src.tar.xz
noextract = libcxx-10.0.1.src.tar.xz
@@ -25,21 +25,24 @@ pkgbase = klee-libc++
pkgname = klee-libc++
pkgdesc = LLVM C++ standard library for KLEE.
- depends = libc++=10.0.1
- depends = klee-libc++abi=10.0.1-1
+ depends = klee-libc++abi=10.0.1-2
+ provides = libc++
+ conflicts = libc++
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
+ provides = libc++abi
+ conflicts = libc++abi
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
+ depends = klee-libc++=10.0.1-2
+ provides = libc++experimental
+ conflicts = libc++experimental
options = staticlibs
options = !strip
diff --git a/PKGBUILD b/PKGBUILD
index de2be0a6a6d5..eb68e48d776b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,16 +1,17 @@
-# Maintainer: Llewelyn Trahaearn <woefulderelict [at] gmail [dot] com>
+# Contributor: Llewelyn Trahaearn <woefulderelict [at] gmail [dot] com>
# Contributor: Daniel Micay <danielmicay [at] gmail [dot] com>
# Contributor: MThinkCpp <mtc [dot] maintainer [at] outlook [dot] com>
+# Maintainer: Kuan-Yen Chou <kuanyenchou [at] gmail [dot] com>
pkgbase=klee-libc++
pkgname=(${pkgbase}{,abi,experimental})
pkgver=10.0.1
-pkgrel=1
+pkgrel=2
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')
+makedepends=('clang' 'cmake' 'llvm' 'libunwind' 'ninja' 'python' 'gllvm-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")
@@ -25,6 +26,7 @@ prepare() {
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
+ sed -i 's/\.hasWarningFlag/\.hasCompileFlag/' llvm/projects/libcxx/utils/libcxx/{compiler.py,test/config.py}
}
build() {
@@ -32,17 +34,16 @@ 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 CC=gclang
+ export CXX=gclang++
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++ \
+ -DCMAKE_C_COMPILER=gclang \
+ -DCMAKE_CXX_COMPILER=gclang++ \
-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=NO \
"$srcdir/llvm"
ninja cxx cxxabi cxx_experimental
@@ -51,45 +52,57 @@ build() {
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"
+ get-bc "$p"
fi
done
}
+check() {
+ cd "$srcdir/build"
+ ninja check-cxx check-cxxabi
+}
+
package_klee-libc++() {
pkgdesc='LLVM C++ standard library for KLEE.'
- depends=("libc++=$pkgver" "klee-libc++abi=$pkgver-$pkgrel")
+ depends=("klee-libc++abi=$pkgver-$pkgrel")
options=('staticlibs' '!strip')
+ provides=('libc++')
+ conflicts=('libc++')
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
+ DESTDIR="$pkgdir" ninja install-libcxx
+
+ install -Dm0644 -t "$pkgdir"/usr/share/"$pkgname"/usr/lib/ "$srcdir"/build/lib/libc++.bca
+ install -Dm0644 -t "$pkgdir"/usr/share/"$pkgname"/usr/lib/ "$srcdir"/build/lib/libc++.so*.bc
+ ln -s libc++.so.1.bc "$pkgdir"/usr/share/"$pkgname"/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')
+ provides=('libc++abi')
+ conflicts=('libc++abi')
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
+ DESTDIR="$pkgdir" ninja install-libcxxabi
+
+ install -Dm0644 -t "$pkgdir"/usr/share/"$pkgname"/usr/lib/ "$srcdir"/build/lib/libc++abi.bca
+ install -Dm0644 -t "$pkgdir"/usr/share/"$pkgname"/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")
+ depends=("klee-libc++=$pkgver-$pkgrel")
options=('staticlibs' '!strip')
+ provides=('libc++experimental')
+ conflicts=('libc++experimental')
- install -Dm0644 -t "$pkgdir"/usr/lib/ "$srcdir"/build/lib/libc++experimental.bca
+ install -Dm0644 -t "$pkgdir"/usr/lib/ "$srcdir"/build/lib/libc++experimental.a
+ install -Dm0644 -t "$pkgdir"/usr/share/"$pkgname"/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
}