aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/llvm/APKBUILD')
-rw-r--r--main/llvm/APKBUILD91
1 files changed, 91 insertions, 0 deletions
diff --git a/main/llvm/APKBUILD b/main/llvm/APKBUILD
new file mode 100644
index 0000000000..2368319434
--- /dev/null
+++ b/main/llvm/APKBUILD
@@ -0,0 +1,91 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=llvm
+pkgver=2.9
+pkgrel=2
+pkgdesc="low level virtual machine compiler system"
+arch="x86"
+url="http://llvm.org/"
+license="UOI-NCSA"
+depends=
+makedepends="groff perl libffi-dev"
+install=
+subpackages="clang $pkgname-dev $pkgname-doc $pkgname-libs"
+source="http://llvm.org/releases/$pkgver/llvm-$pkgver.tgz
+ http://llvm.org/releases/$pkgver/clang-$pkgver.tgz
+ clang-2.9-alpine-linux.patch
+ "
+
+_builddir="$srcdir"/build
+
+prepare() {
+ mkdir "$_builddir"
+
+ msg "Preparing CLANG sources..."
+
+ mv "$srcdir"/clang-$pkgver "$srcdir"/$pkgname-$pkgver/tools/clang
+
+ msg "Patching LLVM core..."
+
+ cd "$srcdir"/$pkgname-$pkgver
+
+ for i in $source; do
+ case $i in
+ *.patch)
+ msg "Applying $i..."
+ patch -s -p1 -N -i "$srcdir"/$i || return 1
+ ;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ../$pkgname-$pkgver/configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-ffi \
+ --enable-shared \
+ || return 1
+
+ # configure gets it wrong. We do have error_t
+ sed -i -e 's/.*undef HAVE_ERROR_T.*/#define HAVE_ERROR_T 1/' \
+ -e '/define error_t/d' \
+ ./include/llvm/Config/config.h || return 1
+
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+
+ #relocate docs
+ mkdir -p "$pkgdir"/usr/share/doc
+ mv "$pkgdir"/usr/docs/llvm "$pkgdir"/usr/share/doc/ || return 1
+ rmdir "$pkgdir"/usr/docs || return 1
+}
+
+clang() {
+ pkgdesc="A C language family front-end for LLVM"
+ mkdir -p "$subpkgdir"/usr/bin \
+ "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/bin/clang* "$pkgdir"/usr/bin/tblgen \
+ "$subpkgdir"/usr/bin/ || return 1
+ mv "$pkgdir"/usr/lib/clang \
+ "$pkgdir"/usr/lib/libclang.so \
+ "$subpkgdir"/usr/lib/ || return 1
+
+}
+
+libs() {
+ pkgdesc="LLVM shared libraries"
+ mkdir -p "$subpkgdir"/usr/lib/
+ mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
+}
+
+md5sums="793138412d2af2c7c7f54615f8943771 llvm-2.9.tgz
+634de18d04b7a4ded19ec4c17d23cfca clang-2.9.tgz
+9aff59aadf89e56e173fa7be011915f1 clang-2.9-alpine-linux.patch"