summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorarchibald8692019-08-28 13:45:45 +0200
committerarchibald8692019-08-28 13:45:45 +0200
commit8efb72f19dd130e3537053f599dbfeb3fc028fc6 (patch)
tree18da7565a2bfc4a09c4397f8a6ddeb4f3db82739 /PKGBUILD
downloadaur-8efb72f19dd130e3537053f599dbfeb3fc028fc6.tar.gz
Initial commit (v0.6)
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD72
1 files changed, 72 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6503cc532b81
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,72 @@
+# Maintainer: archibald869 <archibald869 at web dot de>
+
+pkgname=cling
+pkgver=0.6
+pkgrel=1
+pkgdesc="Interactive C++ interpreter, built on the top of LLVM and Clang libraries"
+arch=("i686" "x86_64")
+url="https://root.cern.ch/cling"
+license=("custom:Cling Release License")
+provides=("cling")
+conflicts=("cling")
+depends=("libxml2" "libffi")
+optdepends=(
+ "python2: support for scan-view and Jupyter"
+ "perl: support for scan-build, ccc-analyzer and c++-analyzer"
+)
+source=(
+ "llvm::git+http://root.cern.ch/git/llvm.git#branch=cling-patches"
+ "clang::git+http://root.cern.ch/git/clang.git#branch=cling-patches"
+ "cling::git+http://root.cern.ch/git/cling.git#tag=v$pkgver"
+)
+sha256sums=(
+ "SKIP"
+ "SKIP"
+ "SKIP"
+)
+_num_cores=$(getconf _NPROCESSORS_ONLN)
+
+
+prepare() {
+ if [ ! -h "$srcdir/llvm/tools/clang" ]; then
+ ln -s "$srcdir/clang" "$srcdir/llvm/tools/clang"
+ fi
+
+ if [ ! -h "$srcdir/llvm/tools/cling" ]; then
+ ln -s "$srcdir/cling" "$srcdir/llvm/tools/cling"
+ fi
+}
+
+build() {
+ mkdir -p "$srcdir/build"
+ cd "$srcdir/build"
+
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX="/opt/cling" \
+ -DLLVM_TARGETS_TO_BUILD="host" \
+ -DLLVM_BUILD_LLVM_DYLIB=OFF \
+ -DLLVM_ENABLE_RTTI=ON \
+ -DLLVM_ENABLE_FFI=ON \
+ -DLLVM_BUILD_DOCS=OFF \
+ -DLLVM_ENABLE_SPHINX=OFF \
+ -DLLVM_ENABLE_DOXYGEN=OFF \
+ -DFFI_INCLUDE_DIR=$(pkg-config --cflags-only-I libffi | cut -c3-) \
+ "$srcdir/llvm"
+
+ make -C tools/clang -j$_num_cores
+ make -C tools/cling -j$_num_cores
+}
+
+package() {
+ cd "$srcdir/build"
+
+ make -C tools/clang -j$_num_cores DESTDIR="$pkgdir" install
+ make -C tools/cling -j$_num_cores DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir/usr/bin"
+ ln -s "/opt/cling/bin/cling" "$pkgdir/usr/bin/cling"
+
+ install -Dm644 "$srcdir/llvm/tools/cling/LICENSE.TXT" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}