[arch-commits] Commit in lib32-llvm/repos (2 files)
Evangelos Foutras
foutrelis at archlinux.org
Tue Mar 28 13:18:52 UTC 2017
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 <foutrelis at gmail.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
+# Contributor: Sebastian Nowicki <sebnow at gmail.com>
+# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us>
+# Contributor: Tobias Kieslich <tobias at justdreams.de>
+# Contributor: Geoffroy Carrier <geoffroy.carrier at aur.archlinux.org>
+# Contributor: Tomas Lindquist Olsen <tomas at famolsen.dk>
+# Contributor: Roberto Alsina <ralsina at kde.org>
+# Contributor: Gerardo Exequiel Pozzi <vmlinuz386 at 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"
+}
More information about the arch-commits
mailing list