summaryrefslogtreecommitdiffstats
path: root/main/mesa/APKBUILD
blob: e4b81d864bc1df31bfdb98f59e9b60c59005d46e (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
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mesa
pkgver=7.10.1
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-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-egl
	"

makedepends="pkgconfig libdrm-dev libxxf86vm-dev libxdamage-dev expat-dev
	dri2proto xextproto libx11-dev glproto python libxt-dev makedepend talloc-dev
	py-libxml2"
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"

depends_dev="libdrm-dev dri2proto libx11-dev libxext-dev libxxf86vm-dev
	libxdamage-dev libxfixes-dev libxcb-dev glproto"

_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"
}

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 \
		--with-state-trackers=dri,glx,egl \
		--enable-xcb \
		--enable-egl \
		--enable-gles2 \
		--enable-gallium-nouveau \
		--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 OpenGLES support library and modules"

	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libEGL.so* "$subpkgdir"/usr/lib/
	mv "$pkgdir"/usr/lib/egl "$subpkgdir"/usr/lib/egl
}

_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; }
swrast() {	_mv_dri swrast_dri; }

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