[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