blob: befb016c95169dad35dfc05657d411d4ef5d2aac (
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# Maintainer: André Silva <emulatorman@parabola.nu>
# Contributor: Márcio Silva <coadde@parabola.nu>
pkgbase=mesa
pkgname=lib32-opencl-$pkgbase
pkgver=12.0.1
pkgrel=1
pkgdesc='OpenCL support for mesa drivers (32-bit)'
arch=('x86_64')
url="http://${pkgbase}3d.sourceforge.net"
license=('custom')
depends=("opencl-$pkgbase" "lib32-$pkgbase-libgl" "lib32-$pkgbase=$pkgver" 'lib32-opencl-icd-loader' 'lib32-libclc' 'lib32-libgcrypt' '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-mako' 'dri2proto' 'dri3proto' 'glproto' 'presentproto' 'python2' 'llvm')
source=(ftp://ftp.freedesktop.org/pub/$pkgbase/$pkgver/$pkgbase-$pkgver.tar.xz{,.sig}
remove-libpthread-stubs.patch
0001-st-mesa-fix-reference-counting-bug-in-st_vdpau.patch
0002-vl-dri3-fix-a-memory-leak-from-front-buffer.patch
0001-Mesa-dev-st_glsl_to_tgsi-overlord-fix.patch
0001-i965-import-prime-buffers-in-the-current-context-not.patch)
sha512sums=('11898336478d1f5bd3946d695b9599647c0b9084ad8890b4fa89daa922a217e5ca6d8b72f5801e362c3dd7723382f2daaa655b54f65a6d088ad8cfdb85f10023'
'SKIP'
'6349de16a2a11b8540d82a78cd15574ea92e0a22f2e184b93311060f72cc3749efba67be464a1b399493035c6e389017d5631b0be2e8ef5da115b137e26c33df'
'499312eb048e32b27820eebeb243df926226f3c2247bfc9b19b28664eaffc7e524cc1dc760d701159a46f37be46e49e956b27de473c465cecbdf0db6d6b97fe0'
'e8b6c75565b7f72f5bc073469fef50e2b04311dc235885f69ad15591e338601273dec99bfd8cbb85f0cc5b3ecf4e4ac8c6ef64225e2ed68504081af3944f88a8'
'fd677879e97f7d30346ef9c41e89770e06e4714b0e74c7bb3d88984038e2fb3cc7f7fb6df59469527ba2c07f8bf51959f65e8dd6dfceea9e400b44157308b816'
'8b6c5eb3024ae5095fbb86e07aa578ede106844388077b5b9d2e9b5822640424be308e34d67daff44b0c25624f2b4ff1e67fc5d21cf5dfaa07b760be2cbd1531')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com>
prepare() {
cd $srcdir/$pkgbase-$pkgver
# Fix detection of libLLVM when builds with CMake
sed -i 's/LLVM_SO_NAME=.*/LLVM_SO_NAME=LLVM/' configure
# Now mesa checks for libpthread-stubs - so remove the check
patch -Np1 -i ../remove-libpthread-stubs.patch
# fix memory leaks - merged upstream
patch -Np1 -i ../0001-st-mesa-fix-reference-counting-bug-in-st_vdpau.patch
patch -Np1 -i ../0002-vl-dri3-fix-a-memory-leak-from-front-buffer.patch
# fix rendering in some games - merged upstream
patch -Np1 -i ../0001-Mesa-dev-st_glsl_to_tgsi-overlord-fix.patch
# fix https://bugs.freedesktop.org/show_bug.cgi?id=71759 / FS#50240
# reverted because of it segfault X with modesetting/intel
#patch -Np1 -i ../0001-i965-import-prime-buffers-in-the-current-context-not.patch
autoreconf -fiv
}
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
./configure --prefix=/usr --libdir=/usr/lib32 --host=$_HOST \
--sysconfdir=/etc \
--with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl \
--with-egl-platforms=x11,drm,wayland \
--enable-llvm-shared-libs \
--enable-egl \
--enable-gallium-llvm \
--enable-opencl --enable-opencl-icd \
--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/
cp -rv $srcdir/fakeinstall/usr/lib32/lib*OpenCL* $pkgdir/usr/lib32/
cp -rv $srcdir/fakeinstall/usr/lib32/gallium-pipe $pkgdir/usr/lib32/
install -vm755 -d $pkgdir/usr/share/licenses/$pkgname
install -vm644 docs/license.html $pkgdir/usr/share/licenses/$pkgname/LICENSE
}
# vim:set ts=2 sw=2 et:
|