summaryrefslogtreecommitdiff
path: root/libre-multilib/lib32-mesa-libcl/PKGBUILD
blob: 986bd1f90df9dbdbfaf16053a962a52deee458e5 (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
74
75
76
77
# Maintainer: André Silva <emulatorman@parabola.nu>
# Contributor: Márcio Silva <coadde@parabola.nu>

pkgbase=mesa
_pkgname=libcl
pkgname=lib32-$pkgbase-$_pkgname
pkgver=11.0.3
pkgrel=1
pkgdesc='Mesa 3-D OpenCL library and ICD loader (32-bit)'
arch=('x86_64')
url="http://${pkgbase}3d.sourceforge.net"
license=('custom')
depends=("$pkgbase-$_pkgname" "lib32-$pkgbase" 'lib32-libclc' 'lib32-clang')
# please use libretools, install "multilib-devel" on chroot and add
#  "CHROOTEXTRAPKG=(multilib-devel)" on "/etc/libretools.d/chroot.conf" file.
makedepends=('python2-mako' 'dri2proto' 'dri3proto' 'glproto' 'presentproto' 'python2' 'llvm')
provides=("lib32-$_pkgname" 'lib32-opencl-icd-loader')
conflicts=("lib32-$_pkgname" "lib32-$_pkgname-libre" 'lib32-opencl-nvidia' 'lib32-opencl-nvidia-304xx' 'lib32-ocl-icd')
replaces=("lib32-$_pkgname" "lib32-$_pkgname-libre" 'lib32-opencl-nvidia' 'lib32-opencl-nvidia-304xx')
source=(ftp://ftp.freedesktop.org/pub/$pkgbase/$pkgver/$pkgbase-$pkgver.tar.xz{,.sig}
        0001-i965-Remove-early-release-of-DRI2-miptree.patch)
sha512sums=('7cec13749a600e589794c4b7c082bcbe47d708d3e4a670160a09b07a0c5afc301b984ac4e26519ed3acda6171f936f700eb62c0977cc392343822603ff6c7c15'
            'SKIP'
            '86bfab88131440d1e5aefd157f12d8927c1a71af4f29b43c607bd2c37ee87f8164c92dc4309fade3c667f7d5907f99d0aa79b5fee1b8ff0eafe5f6d869bbed99')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com>

prepare() {
  cd $srcdir/$pkgbase-$pkgver

  # Should fix FS#45750, tested by heftig - Not merged upstream
  patch -Np1 -i ../0001-i965-Remove-early-release-of-DRI2-miptree.patch

  # Fix detection of libLLVM when built with CMake
  sed -i 's/LLVM_SO_NAME=.*/LLVM_SO_NAME=LLVM/' configure
}

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'
  if [[ $(uname -o) == GNU/Hurd ]]; then
    export _HOST=i686-unknown-gnu
  elif [[ $(uname -o) == GNU/Linux ]]; then
    export _HOST=i686-unknown-linux-gnu
  elif [[ $(uname -o) == GNU/kFreeBSD ]]; then
    export _HOST=i686-unknown-kfreebsd-gnu
  fi

  #autoreconf -vfi # our automake is far too new for their build system :)

  ./configure --prefix=/usr --libdir=/usr/lib32 --host=$_HOST \
    --sysconfdir=/etc \
    --enable-llvm-shared-libs \
    --enable-opencl \
    --with-clang-libdir=/usr/lib32
  make

  # fake installation
  mkdir $srcdir/fakeinstall
  make DESTDIR=$srcdir/fakeinstall install
}

package() {
  cd $srcdir/$pkgbase-$pkgver

  install -vm755 -d $pkgdir/usr/lib32/
  mv -v $srcdir/fakeinstall/usr/lib32/libOpenCL* $pkgdir/usr/lib32/

  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: