summaryrefslogtreecommitdiffstats
path: root/main/mesa/APKBUILD
blob: 41d4518acfab0474b5b9a06ce9e0a1a7a705a207 (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
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mesa
pkgver=7.11.2
pkgrel=0
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-mach64:mach64
	$pkgname-dri-mga:mga
	$pkgname-dri-r128:r128
	$pkgname-dri-savage:savage
	$pkgname-dri-swrast:swrast
	$pkgname-dri-tdfx:tdfx
	$pkgname-dri-unichrome:unichrome
	$pkgname-dri-nouveau:nouveau
	$pkgname-dri-vmwgfx:vmwgfx
	$pkgname-egl $pkgname-glu $pkgname-gl $pkgname-gles
	"

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"
source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2
	mesa-7.10-uclibc.patch
	mesa-7.10-uclibc-glsl.patch
	mesa-7.10-uclibc-gallium.patch
	"
#	Mesa-7.10.1-nouveau-compile.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="i810_dri i915_dri i965_dri"
	subpackages="$subpackages $pkgname-dri-sis:sis"
	;;
esac

prepare() { 
	cd "$_builddir"
	for i in ../*.patch; do
		msg "Applying $i..."
		patch -p1 -i $i || return 1
	done
}

dev() {
	default_dev;
	depends="$depends_dev mesa mesa-egl mesa-gl mesa-glu mesa-gles"
}

build() {
	cd "$_builddir"
	export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
	./configure --prefix=/usr \
		--with-dri-driverdir=$_dri_driverdir \
		--disable-asm \
		--disable-glx-tls \
		--with-driver=dri \
		--enable-xcb \
		--enable-egl \
		--enable-gles2 \
		--with-gallium-drivers=i915,i965,nouveau,r300,r600,svga,swrast \
		--disable-gallium-egl \
		--disable-glut \
		--disable-glw || 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* "$subpkgdir"/usr/lib/
}

gl() {
	replaces="mesa"
	pkgdesc="Mesa libGL runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libGL.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/
}

gles() {
	replaces="mesa"
	pkgdesc="Mesa libGLESv2 runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libGLESv2.so* \
		"$pkgdir"/usr/lib/libglapi.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 $_intel_dri; }
mach64() {	_mv_dri mach64_dri; }
mga() {		_mv_dri mga_dri; }
r128() {	_mv_dri r128_dri; }
savage() {	_mv_dri savage_dri; }
sis() {		_mv_dri sis_dri; }
tdfx() {	_mv_dri tdfx_dri; }
unichrome() {	_mv_dri unichrome_dri; }
nouveau() {	_mv_dri nouveau_dri nouveau_vieux_dri; }
swrast() {	_mv_dri swrast_dri swrastg_dri; }
vmwgfx() {	_mv_dri vmwgfx_dri; }

md5sums="0837c52698fe3252369c3fdb5195afcc  MesaLib-7.11.2.tar.bz2
9c8c161f954f0d08895cd9d45e63f498  mesa-7.10-uclibc.patch
03e9685b0d714e915c35fd0fb5fde810  mesa-7.10-uclibc-glsl.patch
90a2ea438ff328443a0436a91a74d518  mesa-7.10-uclibc-gallium.patch"