summaryrefslogtreecommitdiff
path: root/libre-multilib/lib32-mesa-libcl/PKGBUILD
blob: c11c9353aa6b0914e52192a188379cb07823adb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Maintainer: André Silva <emulatorman@parabola.nu>
# Contributor: Márcio Silva <coadde@parabola.nu>

pkgbase=mesa
_pkgname=libcl
pkgname=lib32-$pkgbase-$_pkgname
pkgver=10.2.7
pkgrel=2
pkgdesc='Mesa 3-D OpenCL library (32-bit)'
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 # 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 -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: