Date: Tuesday, March 28, 2017 @ 13:18:51 Author: foutrelis Revision: 219727
archrelease: copy trunk to multilib-staging-x86_64 Added: lib32-llvm/repos/multilib-staging-x86_64/ lib32-llvm/repos/multilib-staging-x86_64/PKGBUILD (from rev 219726, lib32-llvm/trunk/PKGBUILD) ----------+ PKGBUILD | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) Copied: lib32-llvm/repos/multilib-staging-x86_64/PKGBUILD (from rev 219726, lib32-llvm/trunk/PKGBUILD) =================================================================== --- multilib-staging-x86_64/PKGBUILD (rev 0) +++ multilib-staging-x86_64/PKGBUILD 2017-03-28 13:18:51 UTC (rev 219727) @@ -0,0 +1,144 @@ +# $Id$ +# Maintainer: Evangelos Foutras <foutre...@gmail.com> +# Contributor: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Contributor: Sebastian Nowicki <seb...@gmail.com> +# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us> +# Contributor: Tobias Kieslich <tob...@justdreams.de> +# Contributor: Geoffroy Carrier <geoffroy.carr...@aur.archlinux.org> +# Contributor: Tomas Lindquist Olsen <to...@famolsen.dk> +# Contributor: Roberto Alsina <rals...@kde.org> +# Contributor: Gerardo Exequiel Pozzi <vmlinuz...@yahoo.com.ar> + +pkgname=('lib32-llvm' 'lib32-llvm-libs' 'lib32-clang') +pkgver=4.0.0 +pkgrel=1 +arch=('x86_64') +url="http://llvm.org/" +license=('custom:University of Illinois/NCSA Open Source License') +makedepends=('cmake' 'lib32-libffi' 'lib32-zlib' 'python2' 'gcc-multilib' + 'lib32-libxml2') +options=('staticlibs') +source=(http://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig} + http://releases.llvm.org/$pkgver/cfe-$pkgver.src.tar.xz{,.sig} + http://releases.llvm.org/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig}) +sha256sums=('8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be' + 'SKIP' + 'cea5f88ebddb30e296ca89130c83b9d46c2d833685e2912303c828054c4dc98a' + 'SKIP' + 'd3f25b23bef24c305137e6b44f7e81c51bbec764c119e01512a9bd2330be3115' + 'SKIP') +validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') + +prepare() { + cd "$srcdir/llvm-$pkgver.src" + + mv "$srcdir/cfe-$pkgver.src" tools/clang + mv "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt + + # Somehow CMake finds the 64-bit library in /lib first, + # so let's preseed CMAKE_LIBRARY_PATH with /lib32. + sed -i '/^[[:blank:]]*find_library(FFI_LIBRARY_PATH/i\ + list(INSERT CMAKE_LIBRARY_PATH 0 /usr/lib32)' cmake/config-ix.cmake + + mkdir build +} + +build() { + cd "$srcdir/llvm-$pkgver.src/build" + + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLLVM_LIBDIR_SUFFIX=32 \ + -DCMAKE_C_FLAGS:STRING=-m32 \ + -DCMAKE_CXX_FLAGS:STRING=-m32 \ + -DLLVM_TARGET_ARCH:STRING=i686 \ + -DLLVM_DEFAULT_TARGET_TRIPLE="i686-pc-linux-gnu" \ + -DLLVM_BUILD_LLVM_DYLIB=ON \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -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 --variable=includedir libffi) \ + -DLLVM_BINUTILS_INCDIR=/usr/include \ + .. + + make + + # Disable automatic installation of components that go into subpackages + sed -i '/\(clang\|lldb\)\/cmake_install.cmake/d' tools/cmake_install.cmake + sed -i '/extra\/cmake_install.cmake/d' tools/clang/tools/cmake_install.cmake + sed -i '/compiler-rt\/cmake_install.cmake/d' projects/cmake_install.cmake +} + +package_lib32-llvm() { + pkgdesc="Low Level Virtual Machine (32-bit)" + depends=('lib32-llvm-libs' 'llvm') + + cd "$srcdir/llvm-$pkgver.src" + + make -C build DESTDIR="$pkgdir" install + + # The runtime library goes into lib32-llvm-libs + mv "$pkgdir"/usr/lib32/lib{LLVM,LTO}*.so* "$srcdir" + mv -f "$pkgdir"/usr/lib32/LLVMgold.so "$srcdir" + + # Fix permissions of static libs + chmod -x "$pkgdir"/usr/lib32/*.a + + mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/lib32/llvm-config" + mv "$pkgdir/usr/include/llvm/Config/llvm-config.h" \ + "$pkgdir/usr/lib32/llvm-config-32.h" + + # Get rid of example Hello transformation + rm "$pkgdir"/usr/lib32/*LLVMHello.* + + rm -rf "$pkgdir"/usr/{bin,include,share/{doc,man,llvm}} + + # Needed for multilib (https://bugs.archlinux.org/task/29951) + # Header stub is taken from Fedora + install -d "$pkgdir/usr/include/llvm/Config" + mv "$pkgdir/usr/lib32/llvm-config-32.h" "$pkgdir/usr/include/llvm/Config/" + + mkdir "$pkgdir"/usr/bin + mv "$pkgdir/usr/lib32/llvm-config" "$pkgdir/usr/bin/llvm-config32" + + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_lib32-llvm-libs() { + pkgdesc="Low Level Virtual Machine (runtime library)(32-bit) " + depends=('lib32-libffi' 'lib32-zlib' 'lib32-ncurses' 'lib32-gcc-libs') + + install -d "$pkgdir/usr/lib32" + + cp -P \ + "$srcdir"/lib{LLVM,LTO}*.so* \ + "$srcdir"/LLVMgold.so \ + "$pkgdir/usr/lib32/" + + # Symlink LLVMgold.so from /usr/lib/bfd-plugins + # https://bugs.archlinux.org/task/28479 + install -d "$pkgdir/usr/lib32/bfd-plugins" + ln -s ../LLVMgold.so "$pkgdir/usr/lib32/bfd-plugins/LLVMgold.so" + + install -Dm644 llvm-$pkgver.src/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_lib32-clang() { + pkgdesc="C language family frontend for LLVM" + url="http://clang.llvm.org/" + depends=("lib32-llvm=$pkgver-$pkgrel" 'clang' 'gcc-multilib') + + cd "$srcdir/llvm-$pkgver.src" + + make -C build/tools/clang DESTDIR="$pkgdir" install + + rm -r "$pkgdir"/usr/{bin,include,share,libexec} + + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +}