aports/main/mesa/APKBUILD
2013-09-02 17:10:32 +02:00

209 lines
5.1 KiB
Plaintext

# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mesa
pkgver=9.2.0
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-nouveau:nouveau
$pkgname-dri-swrast:swrast
$pkgname-dri-vmwgfx:vmwgfx
$pkgname-dricore $pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
"
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 libvdpau-dev
libxvmc-dev gettext zlib-dev
autoconf automake libtool"
source="ftp://ftp.freedesktop.org/pub/mesa/9.2/MesaLib-$pkgver.tar.bz2
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
libtoolize --force \
&& aclocal \
&& automake --add-missing \
&& autoreconf || return 1
}
build() {
cd "$_builddir"
export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--with-dri-driverdir=$_dri_driverdir \
--disable-asm \
--enable-pic \
--enable-glx-rts \
--with-gallium-drivers=r300,r600,nouveau,svga,swrast \
--with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
--enable-gallium-llvm \
--enable-gallium-egl \
--with-egl-platforms=x11,drm \
--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-vdpau \
|| 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
find "$pkgdir" -name '*.la' -delete
}
dricore() {
pkgdesc="Mesa dricore runtime libraries"
install -d "$subpkgdir"/usr/lib "$subpkgdir"/etc
mv "$pkgdir"/usr/lib/libdricore*.so.* \
"$subpkgdir"/usr/lib/
mv "$pkgdir"/etc/drirc "$subpkgdir"/etc/drirc
}
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* \
"$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"
replaces="mesa"
install -d "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgbm.so.* \
"$pkgdir"/usr/lib/gbm \
"$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
}
_mv_vdpau() {
local i
install -d "$subpkgdir"/usr/lib/vdpau
for i in "$@"; do
mv "$pkgdir"/usr/lib/vdpau/libvdpau_$i.* \
"$subpkgdir"/usr/lib/vdpau/ || return 1
done
}
_mv_gpipe() {
local i
install -d "$subpkgdir"/usr/lib/gallium-pipe
for i in "$@"; do
mv "$pkgdir"/usr/lib/gallium-pipe/pipe_$i.* \
"$subpkgdir"/usr/lib/gallium-pipe/ || return 1
done
}
ati() { _mv_dri radeon_dri r200_dri r300_dri r600_dri \
&& _mv_vdpau r300 r600 softpipe \
&& _mv_gpipe r300 r600; }
intel() { _mv_dri i915_dri i965_dri; }
nouveau() { _mv_dri nouveau_dri nouveau_vieux_dri \
&& _mv_vdpau nouveau \
&& _mv_gpipe nouveau; }
swrast() { _mv_dri swrast_dri && _mv_gpipe swrast; }
vmwgfx() { _mv_dri vmwgfx_dri && _mv_gpipe vmwgfx; }
md5sums="4185b6aae890bc62a964f4b24cc1aca8 MesaLib-9.2.0.tar.bz2
a1a766b4c6a96d67cad9bd7ad5c578e8 glx_ro_text_segm.patch"
sha256sums="75e6a9bf59fb402f5fbed846be4effafa8a5809229579cd41023b906223a9187 MesaLib-9.2.0.tar.bz2
004f52adefaeccfd4553e0b1d09ad769891d69d05880094c7a45d19623e674a6 glx_ro_text_segm.patch"
sha512sums="26c4b41b7e1d5284b87e2997a14424c1ee0713e11fd9dd65932987832e43b96986ed5e88c06fad4616fc912ffb8e17a2314b282cbf38a2640d76c39724965910 MesaLib-9.2.0.tar.bz2
c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a glx_ro_text_segm.patch"