summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre-multilib/lib32-clang/PKGBUILD93
-rw-r--r--libre-multilib/lib32-mesa-libcl/PKGBUILD112
2 files changed, 86 insertions, 119 deletions
diff --git a/libre-multilib/lib32-clang/PKGBUILD b/libre-multilib/lib32-clang/PKGBUILD
index 9f1a3cbf0..01501bb08 100644
--- a/libre-multilib/lib32-clang/PKGBUILD
+++ b/libre-multilib/lib32-clang/PKGBUILD
@@ -1,14 +1,18 @@
# Maintainer (Arch): PitBall
# Maintainer: André Silva <emulatorman@parabola.nu>
+# Maintainer: Márcio Silva <coadde@parabola.nu>
pkgname=lib32-clang
pkgver=3.5.0
-_base_ver=3.5.0
-pkgrel=1
+pkgrel=2
+pkgdesc="C language family frontend for LLVM (32-bit)"
arch=('x86_64')
-url="http://llvm.org/"
+url="http://clang.llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
-makedepends=('lib32-libffi' 'lib32-zlib' 'python2' 'gcc-multilib' 'clang' 'lib32-llvm' 'bc')
+depends=('clang' 'lib32-llvm' 'gcc-multilib')
+# please use libretools, install "multilib-devel" on chroot and add
+# "CHROOTEXTRAPKG=(multilib-devel)" on "/etc/libretools.d/chroot.conf" file.
+makedepends=('lib32-libffi' 'lib32-zlib' 'python2')
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}
@@ -23,23 +27,16 @@ sha256sums=('28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03'
'5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19')
prepare() {
- # Change directory names to release names so we don't need to change the
- # whole PKGBUILD
- mv llvm-$pkgver{.src,}
- mv cfe-$pkgver.src clang-$pkgver
+ cd "$srcdir/llvm-$pkgver.src"
- cd "$srcdir/llvm-$pkgver"
+ # At the present, clang must reside inside the LLVM source code tree to build
+ # See http://llvm.org/bugs/show_bug.cgi?id=4840
+ mv "$srcdir/cfe-$pkgver.src" tools/clang
- rm -rf projects/compiler-rt
- mv "$srcdir/clang-$pkgver" tools/clang
-
-
- rm -rf projects/compiler-rt
- mv "$srcdir/compiler-rt-$_base_ver.src" projects/compiler-rt
+ mv "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt
# 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:' \
+ sed -i 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32:' \
Makefile.config.in
sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib32:' \
tools/llvm-config/llvm-config.cpp
@@ -47,66 +44,60 @@ prepare() {
autoconf/configure.ac \
configure
- # Use system lib32-llvm
- install -d $srcdir/llvm-$pkgver/Release/lib
- for file in ` pacman -Ql lib32-llvm |grep /lib32/ |awk '{print $2}' |sed '/\/$/d'`; do
- ln -sf $file $srcdir/llvm-$pkgver/Release/lib/
- done
-
# Fix build with GCC 4.9 (patch from Debian)
# http://llvm.org/bugs/show_bug.cgi?id=20067
patch -Np1 -i "$srcdir/llvm-3.5.0-force-link-pass.o.patch"
}
build() {
- cd "$srcdir/llvm-$pkgver"
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export CLANG="clang -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
- export LLVM_CONFIG=/usr/bin/llvm-config32
+ cd $srcdir/llvm-$pkgver.src
+
+ export CC='gcc -m32'
+ export CXX='g++ -m32'
+ export PKG_CONFIG_PATH=/usr/lib32/pkgconfig
+
+ # Apply strip option to configure
+ _optimized_switch=enable
+ [[ $(check_option strip) == n ]] && _optimized_switch=disable
# 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-libffi \
- --enable-targets=x86 \
- --enable-experimental-targets=R600 \
- --enable-bindings=none \
+ --enable-targets=all \
--disable-expensive-checks \
--disable-debug-runtime \
--disable-assertions \
--with-binutils-include=/usr/include \
--with-python=/usr/bin/python2 \
+ --build=i686-pc-linux-gnu \
--host=i686-pc-linux-gnu \
- --target=i686-pc-linux-gnu \
- --enable-optimized
-
-# --disable-clang-static-analyzer \
+ --$_optimized_switch-optimized
-# make
- make -C projects/compiler-rt clang_linux
- make -C tools/clang/utils/TableGen
- make -C tools/clang/lib
+ make REQUIRES_RTTI=1
}
-package_lib32-clang() {
- pkgdesc="C language family frontend for LLVM (32-bit)"
- url="http://clang.llvm.org/"
- depends=('clang' 'lib32-llvm' 'gcc-multilib')
+package() {
+ cd $srcdir/llvm-$pkgver.src/tools/clang
+
+ make -C lib DESTDIR=$pkgdir install
- install -d $pkgdir/usr/lib32/clang/$pkgver
- ln -s lib32 $pkgdir/usr/lib
+ # fix include dir on lib32 dir
+ rm -rv $pkgdir/usr/lib
+ ln -s /usr/lib/clang $pkgdir/usr/lib32/clang
- cd "$srcdir/llvm-$pkgver/tools/clang"
- make -C lib DESTDIR="$pkgdir" install
# Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib32/*.a
- mv $pkgdir/usr/lib32/clang{,/$pkgver}/include
- rm -rf $pkgdir/usr/lib
+ chmod -x $pkgdir/usr/lib32/*.a
+
+ install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre-multilib/lib32-mesa-libcl/PKGBUILD b/libre-multilib/lib32-mesa-libcl/PKGBUILD
index d2b5a47a6..c11c9353a 100644
--- a/libre-multilib/lib32-mesa-libcl/PKGBUILD
+++ b/libre-multilib/lib32-mesa-libcl/PKGBUILD
@@ -4,94 +4,70 @@
pkgbase=mesa
_pkgname=libcl
pkgname=lib32-$pkgbase-$_pkgname
-_pkgflag=libre
pkgver=10.2.7
pkgrel=2
pkgdesc='Mesa 3-D OpenCL library (32-bit)'
-url=http://${pkgbase}3d.sourceforge.net
-license=(
- custom
-)
-arch=(
- x86_64
-)
-depends=(
- lib32-libclc
- lib32-$pkgbase
-)
-optdepends=(
- 'opencl-headers: headers necessary for OpenCL development'
-)
-makedepends=(
- # please use libretools, install "multilib-devel" on chroot and add
- # "CHROOTEXTRAPKG=(multilib-devel)" on "/etc/libretools.d/chroot.conf" file.
- lib32-clang
- dri2proto
- dri3proto
- glproto
- imake
- lib32-libxml2
- presentproto
- python2
- lib32-libvdpau
-)
-provides=(
- lib32-$_pkgname-$_pkgflag
- lib32-$_pkgname
- lib32-opencl-nvidia
- lib32-opencl-nvidia-304xx
- lib32-opencl-$pkgbase
-)
-conflicts=(
- lib32-$_pkgname-$_pkgflag
- lib32-$_pkgname
- lib32-opencl-nvidia
- lib32-opencl-nvidia-304xx
- lib32-opencl-$pkgbase
-)
-replaces=(
- lib32-$_pkgname-$_pkgflag
- lib32-$_pkgname
- lib32-opencl-nvidia
- lib32-opencl-nvidia-304xx
- lib32-opencl-$pkgbase
-)
-source=(
- ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2
- llvm35.patch
-)
-sha512sums=(
- c6d346499ef9596d3b5cd0bdc0ec64b58e8170203e0c977c54b55652c8792beb471822c101461745f7228a7d15a43924211f56fc0cc989defdc1acc4ea7b8a71
- dbf6792c94c80e067f3d1a33237ca1e28be7069a366c46b36997afab97c8a712758b07dc7f9fce0b3e20b8280d41539f02d70ee5c7e16188d8f6db9731fb6881
-)
+arch=('x86_64')
+url="http://${pkgbase}3d.sourceforge.net"
+license=('custom')
+depends=("lib32-$pkgbase-$_pkgname" "lib32-$pkgbase=$pkgver" 'lib32-libclc' 'lib32-clang')
+optdepends=('opencl-headers: headers necessary for OpenCL development')
+# please use libretools, install "multilib-devel" on chroot and add
+# "CHROOTEXTRAPKG=(multilib-devel)" on "/etc/libretools.d/chroot.conf" file.
+makedepends=('python2' 'lib32-libxml2' 'glproto' 'dri2proto' 'dri3proto' 'presentproto'
+ 'lib32-libvdpau' 'lib32-clang') # 'imake')
+provides=("lib32-$_pkgname-libre" "lib32-$_pkgname" 'lib32-opencl-nvidia' 'lib32-opencl-nvidia-304xx' "lib32-opencl-$pkgbase")
+conflicts=("lib32-$_pkgname-libre" "lib32-$_pkgname" 'lib32-opencl-nvidia' 'lib32-opencl-nvidia-304xx' "lib32-opencl-$pkgbase")
+replaces=("lib32-$_pkgname-libre" "lib32-$_pkgname" 'lib32-opencl-nvidia' 'lib32-opencl-nvidia-304xx' "lib32-opencl-$pkgbase")
+source=("ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2"
+ "llvm35.patch")
+sha512sums=('c6d346499ef9596d3b5cd0bdc0ec64b58e8170203e0c977c54b55652c8792beb471822c101461745f7228a7d15a43924211f56fc0cc989defdc1acc4ea7b8a71'
+ 'dbf6792c94c80e067f3d1a33237ca1e28be7069a366c46b36997afab97c8a712758b07dc7f9fce0b3e20b8280d41539f02d70ee5c7e16188d8f6db9731fb6881')
prepare() {
cd $srcdir/${pkgbase^}-$pkgver
+
patch -Np1 -i ../llvm35.patch
}
build() {
cd $srcdir/${pkgbase^}-$pkgver
+
export CC="gcc -m32"
export CXX="g++ -m32"
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
export LLVM_CONFIG=/usr/bin/llvm-config32
- autoreconf -vfi
- ./configure --prefix=/usr --libdir=/usr/lib32 --enable-32-bit\
- --enable-opencl\
- --enable-gallium-llvm\
- --enable-r600-llvm-compiler\
- --enable-dri3\
- --with-clang-libdir=/usr/lib\
- --enable-llvm-shared-libs\
+
+ autoreconf -vfi # our automake is far too new for their build system :)
+
+ ./configure --prefix=/usr --libdir=/usr/lib32 --enable-32-bit \
+ --enable-opencl \
+ --enable-gallium-llvm \
+ --enable-r600-llvm-compiler \
+ --enable-dri3 \
+ --with-clang-libdir=/usr/lib32 \
+ --enable-llvm-shared-libs \
--with-gallium-drivers=i915,nouveau,r300,r600,radeonsi,svga,swrast
make
+
+ # fake installation
+ mkdir $srcdir/fakeinstall
+ make DESTDIR=$srcdir/fakeinstall install
}
package() {
- cd $srcdir/${pkgbase^}-$pkgver
- make -C src/gallium/targets/opencl DESTDIR=$pkgdir install
- install -vdm755 $pkgdir/usr/share/licenses/$pkgname
+ #cd $srcdir/${pkgbase^}-$pkgver
+ #make -C src/gallium/targets/opencl DESTDIR=$pkgdir install
+
+ install -vm755 -d $pkgdir/etc
+ mv -v $srcdir/fakeinstall/etc/OpenCL $pkgdir/etc/
+
+ install -vm755 -d $pkgdir/usr/lib/
+ mv -v $srcdir/fakeinstall/usr/lib/lib*OpenCL* $pkgdir/usr/lib/
+
+ install -vm755 -d $pkgdir/usr/share/licenses/$pkgname
install -vm644 docs/COPYING $pkgdir/usr/share/licenses/$pkgname
install -vm644 docs/license.html $pkgdir/usr/share/licenses/$pkgname/LICENSE
}
+
+# vim:set ts=2 sw=2 et: