aboutsummaryrefslogtreecommitdiffstats
path: root/main/mesa/APKBUILD
blob: 7485da2b361927ebc59b1ff66c01c815a0898a67 (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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mesa
pkgver=8.0.4
pkgrel=2
pkgdesc="Mesa DRI OpenGL library"
url="http://www.mesa3d.org"
arch="all"
license="LGPL"
depends=
subpackages="$pkgname-dev 
	$pkgname-dri-ati:ati
	$pkgname-dri-intel:intel
	$pkgname-dri-swrast:swrast
	$pkgname-dri-vmwgfx:vmwgfx
	$pkgname-glapi $pkgname-egl $pkgname-glu $pkgname-gl $pkgname-gles
	$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
	"
#	$pkgname-dri-nouveau:nouveau

depends_dev="libdrm-dev dri2proto libx11-dev libxext-dev libxxf86vm-dev
	libxdamage-dev libxfixes-dev libxcb-dev glproto"
makedepends="$depends_dev expat-dev xextproto python libxt-dev makedepend
	talloc-dev py-libxml2 flex bison llvm-dev udev-dev
	autoconf automake"
source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2
	mesa-8.0.3-uclibc-strtod.patch
	mesa-8.0.3-llvm-3.1-fixes.patch
	mesa-7.10-uclibc-gallium.patch
	imports-uclibc.patch
	glx_ro_text_segm.patch
	ccache.patch
	parallel.patch
	"


_dri_driverdir=/usr/lib/xorg/modules/dri

_builddir="$srcdir/Mesa-$pkgver"

case "$CHOST" in
x86_64-*)
	_intel_dri="i915_dri i965_dri"
	;;
i[3456789]86-*)
	_intel_dri="i915_dri i965_dri"
	;;
esac

prepare() { 
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
	aclocal && automake --add-missing && autoreconf || return 1
}

build() {
	cd "$_builddir"
	export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
	./configure --prefix=/usr \
		--with-dri-driverdir=$_dri_driverdir \
		--disable-asm \
		--enable-pic \
		--enable-glx-rts \
		--with-gallium-drivers=r300,r600,svga,swrast \
		--with-dri-drivers=i915,i965,r200,radeon,swrast \
		--enable-gallium-llvm \
		--enable-gallium-egl \
		--enable-shared-glapi \
		--enable-gbm \
		--enable-glx-tls \
		--enable-dri \
		--enable-glx \
		--enable-osmesa \
		--enable-gles1 \
		--enable-gles2 \
		--enable-egl \
		--enable-texture-float \
		--enable-xa \
		--enable-shared-dricore \
		|| return 1

#		--with-driver=dri \
#		--enable-egl \
#		--enable-gles2 \
#		--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast \
#		--enable-gallium-llvm \
#		--enable-gallium-egl \
#		--enable-glx-rts \
	make -C src/mesa depend || return 1
	make || return 1
	
	# check so we dont have any bind NOW
	scanelf -Rb . | grep NOW && return 1
	return 0
}

package() {
	cd "$_builddir"
	make -j1 DESTDIR="$pkgdir" install || return 1
}

egl() {
	replaces="mesa"
	pkgdesc="Mesa libEGL runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libEGL.so* \
		"$pkgdir"/usr/lib/egl \
		"$subpkgdir"/usr/lib/
}

gl() {
	replaces="mesa"
	pkgdesc="Mesa libGL runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libGL.so* \
		"$pkgdir"/$_dri_driverdir/libglsl.so \
		"$pkgdir"/$_dri_driverdir/libdricore.so \
		"$subpkgdir"/usr/lib/
}

glu() {
	replaces="mesa"
	pkgdesc="Mesa libGLU runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libGLU.so* "$subpkgdir"/usr/lib/
}

glapi() {
	replaces="$pkgname-gles"
	pkgdesc="Mesa shared glapi"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libglapi.so.* \
		"$subpkgdir"/usr/lib/
}

gles() {
	replaces="mesa"
	pkgdesc="Mesa libGLESv2 runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libGLES*.so* \
		"$subpkgdir"/usr/lib/
}

xatracker() {
	pkgdesc="Mesa XA state tracker for vmware"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libxatracker*.so.* \
		"$subpkgdir"/usr/lib/
}

osmesa() {
	pkgdesc="Mesa offscreen rendering libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libOSMesa.so.* \
		"$subpkgdir"/usr/lib/
}

gbm() {
	pkgdesc="Mesa gbm library"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libgbm.so.* \
		"$subpkgdir"/usr/lib/
}

_mv_dri() {
	pkgdesc="Mesa DRI driver for $@"
	install -d "$subpkgdir"/$_dri_driverdir

	while [ $# -gt 0 ]; do
		mv "$pkgdir"/$_dri_driverdir/${1}.so \
			"$subpkgdir"/$_dri_driverdir/ || return 1
		shift
	done
}

ati() {		_mv_dri radeon_dri r200_dri r300_dri r600_dri; }
intel() {	_mv_dri i915_dri i965_dri; }
nouveau() {	_mv_dri nouveau_dri nouveau_vieux_dri; }
swrast() {	_mv_dri swrast_dri; }
vmwgfx() {	_mv_dri vmwgfx_dri; }

md5sums="d546f988adfdf986cff45b1efa2d8a46  MesaLib-8.0.4.tar.bz2
13cc91257dac1311013f681705bcf3aa  mesa-8.0.3-uclibc-strtod.patch
c452ed3392468170726c004c2f4e02ca  mesa-8.0.3-llvm-3.1-fixes.patch
90a2ea438ff328443a0436a91a74d518  mesa-7.10-uclibc-gallium.patch
bc2d3e144f7577be016b44b514d0b923  imports-uclibc.patch
a1a766b4c6a96d67cad9bd7ad5c578e8  glx_ro_text_segm.patch
1f30bf8340114b455f005cc9b134c414  ccache.patch
d6319aa729775249541550154ebf7d8f  parallel.patch"