summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLW-archlinux2019-04-06 17:22:47 +0200
committerLW-archlinux2019-04-06 17:22:47 +0200
commit56972945d360ae269fbad8446ac70072b077799b (patch)
tree1676b45289f728f0dca50f25d20b97d7cc22778c
downloadaur-56972945d360ae269fbad8446ac70072b077799b.tar.gz
initial upload
-rw-r--r--.SRCINFO51
-rw-r--r--PKGBUILD151
-rw-r--r--llvm-config.h9
3 files changed, 211 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..26f35fb5beb6
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,51 @@
+pkgbase = llvm-lw-git
+ pkgver = 9.0.0_r313655.2ea8dbf5642
+ pkgrel = 1
+ url = https://llvm.org/
+ arch = x86_64
+ license = custom:University of Illinois/NCSA Open Source License
+ makedepends = git
+ makedepends = cmake
+ makedepends = ninja
+ makedepends = libffi
+ makedepends = libedit
+ makedepends = ncurses
+ makedepends = libxml2
+ makedepends = ocaml=4.07.1
+ makedepends = ocaml-ctypes
+ makedepends = ocaml-findlib
+ makedepends = python-sphinx
+ makedepends = python-recommonmark
+ options = staticlibs
+ source = llvm-project::git+https://github.com/llvm/llvm-project.git
+ source = llvm-config.h
+ sha256sums = SKIP
+ sha256sums = 597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48
+
+pkgname = llvm-lw-git
+ pkgdesc = Collection of modular and reusable compiler and toolchain technologies
+ depends = llvm-libs
+ depends = perl
+ optdepends = python-setuptools: for using lit (LLVM Integrated Tester)
+ provides = llvm
+ provides = llvm-svn
+
+pkgname = llvm-libs-lw-git
+ pkgdesc = LLVM runtime libraries
+ depends = gcc-libs
+ depends = zlib
+ depends = libffi
+ depends = libedit
+ depends = ncurses
+ depends = libxml2
+ provides = llvm-libs
+ provides = llvm-libs-svn
+
+pkgname = llvm-ocaml-lw-git
+ pkgdesc = OCaml bindings for LLVM
+ depends = llvm
+ depends = ocaml=4.07.1
+ depends = ocaml-ctypes
+ provides = llvm-ocaml
+ provides = llvm-ocaml-svn
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..d812183b41a1
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,151 @@
+# Maintainer: Lone_Wolf <lonewolf@xs4all.nl>
+# Contributor: yurikoles <root@yurikoles.com>
+# Contributor: bearoso <bearoso@gmail.com>
+# Contributor: Luchesar V. ILIEV <luchesar%2eiliev%40gmail%2ecom>
+# Contributor: Anders Bergh <anders@archlinuxppc.org>
+# Contributor: Armin K. <krejzi at email dot com>
+# Contributor: Christian Babeux <christian.babeux@0x80.ca>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Hesiod (https://github.com/hesiod)
+# Contributor: Roberto Alsina <ralsina@kde.org>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk>
+# Contributor: Tomas Wilhelmsson <tomas.wilhelmsson@gmail.com>
+
+
+pkgname=('llvm-lw-git' 'llvm-libs-lw-git' 'llvm-ocaml-lw-git')
+pkgver=9.0.0_r313655.2ea8dbf5642
+pkgrel=1
+_ocaml_ver=4.07.1
+arch=('x86_64')
+url="https://llvm.org/"
+license=('custom:University of Illinois/NCSA Open Source License')
+makedepends=('git' 'cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
+ "ocaml=$_ocaml_ver" 'ocaml-ctypes' 'ocaml-findlib'
+ 'python-sphinx' 'python-recommonmark')
+options=('staticlibs')
+source=("llvm-project::git+https://github.com/llvm/llvm-project.git"
+ llvm-config.h)
+sha256sums=('SKIP'
+ '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48')
+
+pkgver() {
+ cd "${srcdir}/llvm-project/llvm"
+
+ # This will almost match the output of `llvm-config --version` when the
+ # LLVM_APPEND_VC_REV cmake flag is turned on. The only difference is
+ # dash being replaced with underscore because of Pacman requirements.
+ local _pkgver=$(awk -F 'MAJOR |MINOR |PATCH |)' \
+ 'BEGIN { ORS="." ; i=0 } \
+ /set\(LLVM_VERSION_/ { print $2 ; i++ ; if (i==2) ORS="" } \
+ END { print "\n" }' \
+ CMakeLists.txt)_r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)
+ echo "${_pkgver}"
+}
+
+prepare() {
+ cd "$srcdir/llvm-project/llvm"
+ mkdir build
+}
+
+build() {
+ cd "$srcdir/llvm-project/llvm/build"
+
+ cmake .. -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLLVM_HOST_TRIPLE=$CHOST \
+ -DLLVM_BUILD_LLVM_DYLIB=ON \
+ -DLLVM_LINK_LLVM_DYLIB=ON \
+ -DLLVM_INSTALL_UTILS=ON \
+ -DLLVM_ENABLE_RTTI=ON \
+ -DLLVM_ENABLE_FFI=ON \
+ -DLLVM_BUILD_TESTS=ON \
+ -DLLVM_BUILD_DOCS=ON \
+ -DLLVM_ENABLE_SPHINX=ON \
+ -DLLVM_ENABLE_DOXYGEN=OFF \
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF \
+ -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
+ -DLLVM_BINUTILS_INCDIR=/usr/include \
+ -DLLVM_VERSION_SUFFIX="" \
+ -DLLVM_APPEND_VC_REV=ON
+ ninja all ocaml_doc
+}
+
+check() {
+ cd "$srcdir/llvm-project/llvm/build"
+ ninja check
+}
+
+package_llvm-lw-git() {
+ pkgdesc="Collection of modular and reusable compiler and toolchain technologies"
+ depends=('llvm-libs' 'perl')
+ optdepends=('python-setuptools: for using lit (LLVM Integrated Tester)')
+ provides=('llvm' 'llvm-svn')
+
+ cd "$srcdir/llvm-project/llvm/build"
+
+ DESTDIR="$pkgdir" ninja install
+
+ # Include lit for running lit-based tests in other projects
+ pushd ../utils/lit
+ python3 setup.py install --root="$pkgdir" -O1
+ popd
+
+ # Remove documentation sources
+ rm -r "$pkgdir"/usr/share/doc/llvm/html/{_sources,.buildinfo}
+
+ # The runtime libraries go into llvm-libs
+ mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO}*.so* "$srcdir"
+ mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir"
+
+ # OCaml bindings go to a separate package
+ rm -rf "$srcdir"/ocaml.{lib,doc}
+ mv "$pkgdir/usr/lib/ocaml" "$srcdir/ocaml.lib"
+ mv "$pkgdir/usr/share/doc/llvm/ocaml-html" "$srcdir/ocaml.doc"
+
+ if [[ $CARCH == x86_64 ]]; then
+ # Needed for multilib (https://bugs.archlinux.org/task/29951)
+ # Header stub is taken from Fedora
+ mv "$pkgdir/usr/include/llvm/Config/llvm-config"{,-64}.h
+ cp "$srcdir/llvm-config.h" "$pkgdir/usr/include/llvm/Config/llvm-config.h"
+ fi
+
+ install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_llvm-libs-lw-git() {
+ pkgdesc="LLVM runtime libraries"
+ depends=('gcc-libs' 'zlib' 'libffi' 'libedit' 'ncurses' 'libxml2')
+ provides=('llvm-libs' 'llvm-libs-svn')
+
+ install -d "$pkgdir/usr/lib"
+ cp -P \
+ "$srcdir"/lib{LLVM,LTO}*.so* \
+ "$srcdir"/LLVMgold.so \
+ "$pkgdir/usr/lib/"
+
+ # Symlink LLVMgold.so from /usr/lib/bfd-plugins
+ # https://bugs.archlinux.org/task/28479
+ install -d "$pkgdir/usr/lib/bfd-plugins"
+ ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
+
+ install -Dm644 "$srcdir/llvm-project/llvm/LICENSE.TXT" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_llvm-ocaml-lw-git() {
+ pkgdesc="OCaml bindings for LLVM"
+ depends=('llvm' "ocaml=$_ocaml_ver" 'ocaml-ctypes')
+ provides=('llvm-ocaml' 'llvm-ocaml-svn')
+
+ install -d "$pkgdir"/{usr/lib,usr/share/doc/$pkgname}
+ cp -a "$srcdir/ocaml.lib" "$pkgdir/usr/lib/ocaml"
+ cp -a "$srcdir/ocaml.doc" "$pkgdir/usr/share/doc/$pkgname/html"
+
+ install -Dm644 "$srcdir/llvm-project/llvm/LICENSE.TXT" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/llvm-config.h b/llvm-config.h
new file mode 100644
index 000000000000..2fa08c9be696
--- /dev/null
+++ b/llvm-config.h
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "llvm-config-32.h"
+#elif __WORDSIZE == 64
+#include "llvm-config-64.h"
+#else
+#error "Unknown word size"
+#endif