[arch-commits] Commit in lib32-llvm/repos (2 files)
Laurent Carlier
lcarlier at archlinux.org
Thu Sep 17 15:45:33 UTC 2015
Date: Thursday, September 17, 2015 @ 17:45:33
Author: lcarlier
Revision: 140411
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 140410, lib32-llvm/trunk/PKGBUILD)
----------+
PKGBUILD | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 165 insertions(+)
Copied: lib32-llvm/repos/multilib-staging-x86_64/PKGBUILD (from rev 140410, lib32-llvm/trunk/PKGBUILD)
===================================================================
--- multilib-staging-x86_64/PKGBUILD (rev 0)
+++ multilib-staging-x86_64/PKGBUILD 2015-09-17 15:45:33 UTC (rev 140411)
@@ -0,0 +1,165 @@
+# $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=3.7.0
+pkgrel=1
+arch=('x86_64')
+url="http://llvm.org/"
+license=('custom:University of Illinois/NCSA Open Source License')
+makedepends=('lib32-libffi' 'lib32-zlib' 'python2' 'gcc-multilib')
+options=('staticlibs')
+source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
+ http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
+ http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig})
+sha256sums=('ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153'
+ 'SKIP'
+ '4ed740c5a91df1c90a4118c5154851d6a475f39a91346bdf268c1c29c13aa1cc'
+ 'SKIP'
+ '227fa998520bc94974a428dc8e7654d9bdf277e5bc70d4064ebc05691bd62b0b'
+ 'SKIP')
+validpgpkeys=('11E521D646982372EB577A1F8F0871F202119294'
+ 'B6C8F98282B944E3B0D5C2530FC3042E345AD05D')
+
+prepare() {
+ cd "$srcdir/llvm-$pkgver.src"
+
+ mv "$srcdir/cfe-$pkgver.src" tools/clang
+ mv "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt
+
+ # Fix compiler-rt build on i686
+ # https://llvm.org/bugs/show_bug.cgi?id=22661
+ sed -i '/ifeq.*CompilerTargetArch/s/i386/i686/g' \
+ projects/compiler-rt/make/platform/clang_linux.mk
+
+ # Fix installation directories, ./configure doesn't seem to set them right
+ sed -i -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32:' \
+ -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
+ Makefile.config.in
+ sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib32:' \
+ tools/llvm-config/llvm-config.cpp
+ sed -i 's:LLVM_LIBDIR="${prefix}/lib":LLVM_LIBDIR="${prefix}/lib32":' \
+ autoconf/configure.ac \
+ configure
+
+ mkdir build
+}
+
+build() {
+ cd "$srcdir/llvm-$pkgver.src/build"
+
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ # Include location of libffi headers in CPPFLAGS
+ CPPFLAGS+=" $(pkg-config --cflags libffi)"
+
+ # We had to force host and target to get
+ # a proper triplet reported by llvm
+
+ ../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib32 \
+ --sysconfdir=/etc \
+ --enable-shared \
+ --enable-optimized \
+ --enable-libffi \
+ --enable-targets=all \
+ --disable-assertions \
+ --with-binutils-include=/usr/include \
+ --with-python=/usr/bin/python2 \
+ --build=i686-pc-linux-gnu \
+ --host=i686-pc-linux-gnu \
+
+ make REQUIRES_RTTI=1
+}
+
+package_lib32-llvm() {
+ pkgdesc="Low Level Virtual Machine (32-bit)"
+ depends=('lib32-llvm-libs' 'llvm')
+
+ cd "$srcdir/llvm-$pkgver.src"
+
+ # Temporarily rename clang and lldb directories so they don't get installed
+ for tool in clang; do
+ mv build/tools/$tool{,.hidden}
+ mv tools/$tool{,.hidden}
+ done
+
+ make -C build DESTDIR="$pkgdir" install
+
+ # Restore original tool directory names
+ for tool in clang; do
+ mv build/tools/$tool{.hidden,}
+ mv tools/$tool{.hidden,}
+ done
+
+ # The runtime library goes into lib32-llvm-libs
+ mv "$pkgdir/usr/lib32/libLLVM-$pkgver.so" "$srcdir/"
+ mv "$pkgdir/usr/lib32/libLLVM-${pkgver%.*}.so" "$srcdir/"
+
+ # Fix permissions of static libs
+ chmod -x "$pkgdir"/usr/lib32/*.a
+
+ mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/lib32/llvm-config"
+
+ # Get rid of example Hello transformation
+ rm "$pkgdir"/usr/lib32/*LLVMHello.*
+
+ # Symlink LLVMgold.so from /usr/lib32/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"
+
+ mv "$pkgdir"/usr/include/llvm/Config/*config.h "$pkgdir/"
+ rm -rf "$pkgdir"/usr/{bin,include,share/{doc,man,llvm}}
+
+ install -d "$pkgdir/usr/include/llvm/Config"
+ mv "$pkgdir/config.h" "$pkgdir/usr/include/llvm/Config/config-32.h"
+ mv "$pkgdir/llvm-config.h" "$pkgdir/usr/include/llvm/Config/llvm-config-32.h"
+
+ 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-gcc-libs')
+
+ cd "$srcdir"
+
+ install -d "$pkgdir/usr/lib32"
+ cp -P libLLVM-$pkgver.so libLLVM-${pkgver%.*}.so "$pkgdir/usr/lib32/"
+
+ 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
+
+ mv -v "$pkgdir"/usr/lib/* "$pkgdir"/usr/lib32/
+ rm -r "$pkgdir"/usr/{bin,include,lib,share}
+
+ # Fix permissions of static libs
+ chmod -x "$pkgdir"/usr/lib32/*.a
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
More information about the arch-commits
mailing list