aboutsummaryrefslogtreecommitdiffstats
path: root/main/mesa/APKBUILD
blob: 00276f10ca05331cdc294fb5dedfb73302bf8dd8 (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
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mesa
pkgver=8.0.3
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-swrast:swrast
	$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
	autoconf automake"
source="ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2
	mesa-8.0.3-uclibc-strtod.patch
	mesa-7.10-uclibc-gallium.patch
	imports-uclibc.patch
	glx_ro_text_segm.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
}

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-egl \
		--enable-gles2 \
		--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast \
		--disable-gallium-egl \
		--enable-glx-rts \
		|| 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 i915_dri i965_dri; }
nouveau() {	_mv_dri nouveau_dri nouveau_vieux_dri; }
swrast() {	_mv_dri swrast_dri; }
vmwgfx() {	_mv_dri vmwgfx_dri; }

md5sums="cc5ee15e306b8c15da6a478923797171  MesaLib-8.0.3.tar.bz2
13cc91257dac1311013f681705bcf3aa  mesa-8.0.3-uclibc-strtod.patch
90a2ea438ff328443a0436a91a74d518  mesa-7.10-uclibc-gallium.patch
bc2d3e144f7577be016b44b514d0b923  imports-uclibc.patch
a1a766b4c6a96d67cad9bd7ad5c578e8  glx_ro_text_segm.patch"