summaryrefslogtreecommitdiffstats
path: root/main/mesa/APKBUILD
blob: 9003606cd1ba0c64f660eb4da96c8eafb4368601 (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
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mesa
pkgver=7.8.2
pkgrel=6
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-demos
	"

makedepends="pkgconfig libdrm-dev libxxf86vm-dev libxdamage-dev expat-dev
	dri2proto xextproto libx11-dev glproto python libxt-dev"
source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2
	ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaDemos-$pkgver.tar.bz2
	mesa-7.6.1-uclibc.patch
	mesa-7.8-git.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
}

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 \
		--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
	mkdir -p "$pkgdir"/usr/bin
	cp "$_builddir"/progs/xdemos/glxinfo "$pkgdir"/usr/bin/glxinfo || return 1
	cp "$_builddir"/progs/xdemos/glxgears "$pkgdir"/usr/bin/glxgears || return 1
}


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

demos() {
	pkgdesc="Mesa demo applications"
	mkdir -p "$subpkgdir"/usr/
	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}

md5sums="6be2d343a0089bfd395ce02aaf8adb57  MesaLib-7.8.2.tar.bz2
757d9e2e06f48b1a52848be9b0307ced  MesaDemos-7.8.2.tar.bz2
8d98e15310e0f2e1520beb9e6cb6ab41  mesa-7.6.1-uclibc.patch
397c1249edcf03227697fef3f7129fe4  mesa-7.8-git.patch"