diff options
author | Drommer | 2022-06-03 23:31:53 +0300 |
---|---|---|
committer | Drommer | 2022-06-03 23:31:53 +0300 |
commit | 4557cf092af7a130f723afc44ddadd4878906916 (patch) | |
tree | ba337489ab98f3fc9f389e9c12f3e6988a41a83f | |
download | aur-4557cf092af7a130f723afc44ddadd4878906916.tar.gz |
First upload
-rw-r--r-- | .SRCINFO | 38 | ||||
-rw-r--r-- | PKGBUILD | 106 | ||||
-rw-r--r-- | benchmark-register-fix.patch | 11 | ||||
-rw-r--r-- | llvm-config.h | 9 |
4 files changed, 164 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..37c2df86f064 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,38 @@ +pkgbase = llvm10 + pkgver = 10.0.1 + pkgrel = 1 + url = https://llvm.org/ + arch = x86_64 + license = custom:Apache 2.0 with LLVM Exception + makedepends = cmake + makedepends = ninja + makedepends = libffi + makedepends = libedit + makedepends = ncurses + makedepends = libxml2 + makedepends = python-sphinx + makedepends = python-recommonmark + options = staticlibs + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/llvm-10.0.1.src.tar.xz + source = llvm-config.h + source = benchmark-register-fix.patch + validpgpkeys = B6C8F98282B944E3B0D5C2530FC3042E345AD05D + validpgpkeys = 474E22316ABF4785A88C6E8EA2C794A986419D8A + sha256sums = c5d8e30b57cbded7128d78e5e8dad811bff97a8d471896812f57fa99ee82cdf3 + sha256sums = 597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48 + sha256sums = 6ea7fec524215f021bf4507da67247707c87640c9ec2b3314a71d1aa9c043158 + +pkgname = llvm10 + pkgdesc = Collection of modular and reusable compiler and toolchain technologies + depends = llvm-libs + depends = perl + optdepends = python-setuptools: for using lit (LLVM Integrated Tester) + +pkgname = llvm10-libs + pkgdesc = LLVM runtime libraries + depends = gcc-libs + depends = zlib + depends = libffi + depends = libedit + depends = ncurses + depends = libxml2 diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..c3b5961527aa --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,106 @@ +# Maintainer: Evangelos Foutras <evangelos@foutrelis.com> +# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> + +pkgname=('llvm10' 'llvm10-libs') +pkgver=10.0.1 +pkgrel=1 +arch=('x86_64') +url="https://llvm.org/" +license=('custom:Apache 2.0 with LLVM Exception') +makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' + 'libxml2' 'python-sphinx' 'python-recommonmark') +options=('staticlibs') +source=("https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-$pkgver.src.tar.xz" + "llvm-config.h" + "benchmark-register-fix.patch") +sha256sums=('c5d8e30b57cbded7128d78e5e8dad811bff97a8d471896812f57fa99ee82cdf3' + '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48' + '6ea7fec524215f021bf4507da67247707c87640c9ec2b3314a71d1aa9c043158') +validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans@chromium.org> +validpgpkeys+=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard <tstellar@redhat.com> + +prepare() { + cd "$srcdir/llvm-$pkgver.src" + patch -Np1 -i ../benchmark-register-fix.patch + + mkdir build +} + +build() { + cd "$srcdir/llvm-$pkgver.src/build" + + cmake .. -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/opt/llvm10 \ + -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_EXPERIMENTAL_TARGETS_TO_BUILD=AVR \ + -DLLVM_BUILD_TESTS=OFF \ + -DLLVM_BUILD_DOCS=OFF \ + -D LLVM_INCLUDE_DOCS=OFF \ + -D LLVM_ENABLE_OCAMLDOC=OFF \ + -DSPHINX_WARNINGS_AS_ERRORS=OFF \ + -DLLVM_BINUTILS_INCDIR=/opt/llvm10/include + ninja all +} + +package_llvm10() { + pkgdesc="Collection of modular and reusable compiler and toolchain technologies" + depends=('llvm-libs' 'perl') + optdepends=('python-setuptools: for using lit (LLVM Integrated Tester)') + + cd "$srcdir/llvm-$pkgver.src/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 + + # The runtime libraries go into llvm-libs + mv -f "$pkgdir"/opt/llvm10/lib/lib{LLVM,LTO,Remarks}*.so* "$srcdir" + mv -f "$pkgdir"/opt/llvm10/lib/LLVMgold.so "$srcdir" + + if [[ $CARCH == x86_64 ]]; then + # Needed for multilib (https://bugs.archlinux.org/task/29951) + # Header stub is taken from Fedora + mv "$pkgdir/opt/llvm10/include/llvm/Config/llvm-config"{,-64}.h + cp "$srcdir/llvm-config.h" "$pkgdir/opt/llvm10/include/llvm/Config/llvm-config.h" + fi + + cp -rf "$pkgdir"/usr/{bin,lib} "$pkgdir/opt/llvm10" + rm -rf "$pkgdir"/usr + + install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_llvm10-libs() { + pkgdesc="LLVM runtime libraries" + depends=('gcc-libs' 'zlib' 'libffi' 'libedit' 'ncurses' 'libxml2') + + install -d "$pkgdir/opt/llvm10/lib" + cp -P \ + "$srcdir"/lib{LLVM,LTO,Remarks}*.so* \ + "$srcdir"/LLVMgold.so \ + "$pkgdir/opt/llvm10/lib/" + + # Symlink LLVMgold.so from /usr/lib/bfd-plugins + # https://bugs.archlinux.org/task/28479 + install -d "$pkgdir/opt/llvm10/lib/bfd-plugins" + ln -s ../LLVMgold.so "$pkgdir/opt/llvm10/lib/bfd-plugins/LLVMgold.so" + + install -Dm644 "/dev/null" \ + "$pkgdir/etc/ld.so.conf.d/70-llvm10-libs.conf" + + echo "/opt/llvm10/lib" > "$pkgdir/etc/ld.so.conf.d/70-llvm10-libs.conf" + + install -Dm644 "$srcdir/llvm-$pkgver.src/LICENSE.TXT" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/benchmark-register-fix.patch b/benchmark-register-fix.patch new file mode 100644 index 000000000000..aad741c64ed9 --- /dev/null +++ b/benchmark-register-fix.patch @@ -0,0 +1,11 @@ +diff --git a/utils/benchmark/src/benchmark_register.h b/utils/benchmark/src/benchmark_register.h +--- a/utils/benchmark/src/benchmark_register.h ++++ b/utils/benchmark/src/benchmark_register.h +@@ -1,6 +1,7 @@ + #ifndef BENCHMARK_REGISTER_H + #define BENCHMARK_REGISTER_H + ++#include <limits> + #include <vector> + + #include "check.h" 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 |