summaryrefslogtreecommitdiff
path: root/extra/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'extra/mesa')
-rw-r--r--extra/mesa/PKGBUILD43
-rw-r--r--extra/mesa/mesa-7.5-mips-wmb.patch11
-rw-r--r--extra/mesa/mesa-loongson.patch11
3 files changed, 48 insertions, 17 deletions
diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD
index 0b77550ce..60da603d4 100644
--- a/extra/mesa/PKGBUILD
+++ b/extra/mesa/PKGBUILD
@@ -3,7 +3,8 @@
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase=mesa
-pkgname=('mesa' 'libgl' 'osmesa' 'libglapi' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel' 'ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri')
+pkgname=('mesa' 'libgl' 'osmesa' 'libglapi' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel')
+[[ "$CARCH" != "mips64el" ]] && pkgname+=( 'ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri')
#_git=true
_gitdate=20111031
@@ -16,9 +17,10 @@ if [ "${_git}" = "true" ]; then
pkgver=8.0.3
fi
pkgrel=1
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
makedepends=('glproto>=1.4.15' 'libdrm>=2.4.30' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.99.1' 'libxt>=1.1.1'
- 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'llvm' 'udev')
+ 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'udev')
+[[ "$CARCH" != "mips64el" ]] && makedepends+=('llvm')
url="http://mesa3d.sourceforge.net"
license=('custom')
source=(LICENSE)
@@ -32,23 +34,25 @@ if [ "${_git}" = "true" ]; then
#source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-4464ee1a9aa3745109cee23531e3fb2323234d07.tar.bz2"
)
fi
-md5sums=('5c65a0fe315dd347e09b1f2826a1df5a'
- 'cc5ee15e306b8c15da6a478923797171')
+source+=(mesa-loongson.patch)
build() {
cd ${srcdir}/?esa-*
+ if [ "$CARCH" = "mips64el" ]; then
+ extraconf="--with-gallium-drivers=swrast"
+ else
+ extraconf="--with-gallium-drivers=r300,r600,nouveau,svga,swrast --enable-gallium-llvm --enable-dri --enable-shared-dricore"
+ fi
+
+ patch -Np1 -i $srcdir/mesa-loongson.patch
if [ "${_git}" = "true" ]; then
autoreconf -vfi
./autogen.sh --prefix=/usr \
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-gallium-drivers=r300,r600,nouveau,svga,swrast \
- --enable-gallium-llvm \
- --enable-gallium-egl \
--enable-shared-glapi \
--enable-gbm \
--enable-glx-tls \
- --enable-dri \
--enable-glx \
--enable-osmesa \
--enable-gles1 \
@@ -56,7 +60,8 @@ if [ "${_git}" = "true" ]; then
--enable-egl \
--enable-texture-float \
--enable-xa \
- --enable-shared-dricore
+ $extraconf
+
#--enable-gbm \
# --enable-gallium-svga \
@@ -64,13 +69,9 @@ if [ "${_git}" = "true" ]; then
autoreconf -vfi
./configure --prefix=/usr \
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-gallium-drivers=r300,r600,nouveau,svga,swrast \
- --enable-gallium-llvm \
- --enable-gallium-egl \
--enable-shared-glapi \
--enable-gbm \
--enable-glx-tls \
- --enable-dri \
--enable-glx \
--enable-osmesa \
--enable-gles1 \
@@ -78,22 +79,25 @@ if [ "${_git}" = "true" ]; then
--enable-egl \
--enable-texture-float \
--enable-xa \
- --enable-shared-dricore
+ $extraconf
fi
make
}
package_libgl() {
- depends=('libdrm>=2.4.31' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libglapi' 'gcc-libs')
+ depends=('libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libglapi' 'gcc-libs')
pkgdesc="Mesa 3-D graphics library and DRI software rasterizer"
- #replaces=('unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri')
+# replaces=('unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri')
+ [[ "$CARCH" != "mips64el" ]] && depends+=('libdrm>=2.4.31')
cd ${srcdir}/?esa-*
install -m755 -d "${pkgdir}/usr/lib"
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/"
+
+ if [ "$CARCH" != "mips64el" ]; then
bin/minstall lib/libdricore.so* "${pkgdir}/usr/lib/"
bin/minstall lib/libglsl.so* "${pkgdir}/usr/lib/"
@@ -102,6 +106,8 @@ package_libgl() {
ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so"
+ fi
+
install -m755 -d "${pkgdir}/usr/share/licenses/libgl"
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/"
}
@@ -262,3 +268,6 @@ package_svga-dri() {
make -C ${srcdir}/?esa-*/src/gallium/targets/dri-vmwgfx DESTDIR="${pkgdir}" install
}
+md5sums=('5c65a0fe315dd347e09b1f2826a1df5a'
+ 'cc5ee15e306b8c15da6a478923797171'
+ '598c24dccfcdcc99c07d883f7c09f36a')
diff --git a/extra/mesa/mesa-7.5-mips-wmb.patch b/extra/mesa/mesa-7.5-mips-wmb.patch
new file mode 100644
index 000000000..06c3d1835
--- /dev/null
+++ b/extra/mesa/mesa-7.5-mips-wmb.patch
@@ -0,0 +1,11 @@
+--- mesa-20090921/src/mesa/drivers/dri/sis/sis_context.h.orig 2010-03-31 23:31:37.252554011 +0800
++++ mesa-20090921/src/mesa/drivers/dri/sis/sis_context.h 2010-03-31 23:32:06.616553941 +0800
+@@ -404,6 +404,8 @@
+ #define MMIO_WMB() __asm __volatile("" : : : "memory")
+ #elif defined(__ia64__)
+ #define MMIO_WMB() __asm __volatile("mf" : : : "memory")
++#elif defined(__mips__)
++#define MMIO_WMB() __asm __volatile("" : : : "memory")
+ #else
+ #error platform needs WMB
+ #endif
diff --git a/extra/mesa/mesa-loongson.patch b/extra/mesa/mesa-loongson.patch
new file mode 100644
index 000000000..fa82abe49
--- /dev/null
+++ b/extra/mesa/mesa-loongson.patch
@@ -0,0 +1,11 @@
+--- Mesa-6.5.2/include/GL/internal/sarea.h.orig 2007-03-01 05:27:22.000000000 +0800
++++ Mesa-6.5.2/include/GL/internal/sarea.h 2007-03-01 05:27:49.000000000 +0800
+@@ -44,6 +44,8 @@
+ /* SAREA area needs to be at least a page */
+ #if defined(__alpha__)
+ #define SAREA_MAX 0x2000
++#elif defined(__mips__)
++#define SAREA_MAX 0x4000
+ #elif defined(__ia64__)
+ #define SAREA_MAX 0x10000 /* 64kB */
+ #else