From 608992f17d5473f8270f0779d3b9bcfe8fbdfa1c Mon Sep 17 00:00:00 2001 From: root Date: Sun, 17 Jun 2012 00:03:04 +0000 Subject: Sun Jun 17 00:03:04 UTC 2012 --- testing/mesa/LICENSE | 82 ++++++++ testing/mesa/PKGBUILD | 269 +++++++++++++++++++++++++++ testing/mesa/mesa-8.0.3-llvm-3.1-fixes.patch | 46 +++++ 3 files changed, 397 insertions(+) create mode 100644 testing/mesa/LICENSE create mode 100644 testing/mesa/PKGBUILD create mode 100644 testing/mesa/mesa-8.0.3-llvm-3.1-fixes.patch (limited to 'testing/mesa') diff --git a/testing/mesa/LICENSE b/testing/mesa/LICENSE new file mode 100644 index 000000000..ae33d2709 --- /dev/null +++ b/testing/mesa/LICENSE @@ -0,0 +1,82 @@ +Disclaimer + +Mesa is a 3-D graphics library with an API which is very similar to +that of OpenGL* +To the extent that Mesa utilizes the OpenGL command syntax or state +machine, it is being used with authorization from Silicon Graphics, +Inc.(SGI). However, the author does not possess an OpenGL license +from SGI, and makes no claim that Mesa is in any way a compatible +replacement for OpenGL or associated with SGI. Those who want a +licensed implementation of OpenGL should contact a licensed +vendor. + +Please do not refer to the library as MesaGL (for legal +reasons). It's just Mesa or The Mesa 3-D graphics +library + +* OpenGL is a trademark of Silicon Graphics Incorporated. + +License / Copyright Information + +The Mesa distribution consists of several components. Different copyrights +and licenses apply to different components. For example, GLUT is copyrighted +by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa +device drivers are copyrighted by their authors. See below for a list of +Mesa's main components and the license for each. + +The core Mesa library is licensed according to the terms of the MIT license. +This allows integration with the XFree86, Xorg and DRI projects. + +The default Mesa license is as follows: + +Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Attention, Contributors + +When contributing to the Mesa project you must agree to the licensing terms +of the component to which you're contributing. +The following section lists the primary components of the Mesa distribution +and their respective licenses. + + +Mesa Component Licenses + +Component Location Primary Author License +---------------------------------------------------------------------------- +Main Mesa code src/mesa/ Brian Paul Mesa (MIT) + +Device drivers src/mesa/drivers/* See drivers See drivers + +Ext headers include/GL/glext.h SGI SGI Free B + include/GL/glxext.h + +GLUT src/glut/ Mark Kilgard Mark's copyright + +Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL + +SGI GLU library src/glu/sgi/ SGI SGI Free B + +demo programs progs/demos/ various see source files + +X demos progs/xdemos/ Brian Paul see source files + +SGI demos progs/samples/ SGI SGI copyright + +RedBook demos progs/redbook/ SGI SGI copyright diff --git a/testing/mesa/PKGBUILD b/testing/mesa/PKGBUILD new file mode 100644 index 000000000..f20ccf9de --- /dev/null +++ b/testing/mesa/PKGBUILD @@ -0,0 +1,269 @@ +# $Id: PKGBUILD 161835 2012-06-15 13:56:53Z ibiru $ +# Maintainer: Jan de Groot +# Maintainer: Andreas Radke + +pkgbase=mesa +pkgname=('mesa' 'libgl' 'osmesa' 'libglapi' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel' 'ati-dri' 'intel-dri' 'svga-dri') #'nouveau-dri') + +#_git=true +_gitdate=20111031 +_git=false + +if [ "${_git}" = "true" ]; then + pkgver=7.10.99.git20110709 + #pkgver=7.11 + else + pkgver=8.0.3 +fi +pkgrel=3 +arch=('i686' 'x86_64') +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>=183') +url="http://mesa3d.sourceforge.net" +license=('custom') +source=(LICENSE + mesa-8.0.3-llvm-3.1-fixes.patch) +if [ "${_git}" = "true" ]; then + # mesa git shot from 7.11 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?h=7.11&id=1ae00c5960af83bea9545a18a1754bad83d5cbd0 + #source=(${source[@]} 'ftp://ftp.archlinux.org/other/mesa/mesa-1ae00c5960af83bea9545a18a1754bad83d5cbd0.tar.bz2') + source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-ef9f16f6322a89fb699fbe3da868b10f9acaef98.tar.bz2") + else + source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2" + #source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/8.0/MesaLib-8.0-rc2.tar.bz2" + #source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-4464ee1a9aa3745109cee23531e3fb2323234d07.tar.bz2" +) +fi +md5sums=('5c65a0fe315dd347e09b1f2826a1df5a' + 'c452ed3392468170726c004c2f4e02ca' + 'cc5ee15e306b8c15da6a478923797171') + +build() { + cd ${srcdir}/?esa-* + + patch -Np1 -i "${srcdir}/mesa-8.0.3-llvm-3.1-fixes.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 \ + --enable-gles2 \ + --enable-egl \ + --enable-texture-float \ + --enable-xa \ + --enable-shared-dricore + #--enable-gbm \ + # --enable-gallium-svga \ + + else + autoreconf -vfi + ./configure --prefix=/usr \ + --with-dri-driverdir=/usr/lib/xorg/modules/dri \ + --with-gallium-drivers=r300,r600,svga,swrast \ + --with-dri-drivers=i915,i965,r200,radeon,swrast \ + --enable-gallium-llvm \ + --enable-gallium-egl \ + --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-shared-dricore +fi + + make +} + +package_libgl() { + depends=('libdrm>=2.4.31' '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') + + 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/" + bin/minstall lib/libdricore.so* "${pkgdir}/usr/lib/" + bin/minstall lib/libglsl.so* "${pkgdir}/usr/lib/" + + cd src/mesa/drivers/dri + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install + + ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" + + install -m755 -d "${pkgdir}/usr/share/licenses/libgl" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" +} + +package_osmesa() { + depends=('mesa') + optdepends=('opengl-man-pages: for the OpenGL API man pages') + pkgdesc="Mesa 3D off-screen rendering library" + + make -C ${srcdir}/?esa-*/src/mesa DESTDIR="${pkgdir}" install-osmesa +} + +package_libglapi() { + depends=('glibc') + pkgdesc="free implementation of the GL API -- shared library. The Mesa GL API module is responsible for dispatching all the gl* functions" + + cd ${srcdir}/?esa-* + install -m755 -d "${pkgdir}/usr/lib" + bin/minstall lib/libglapi.so* "${pkgdir}/usr/lib/" + + install -m755 -d "${pkgdir}/usr/share/licenses/libglapi" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libglapi/" +} + +package_libgbm() { + depends=('glibc') + pkgdesc="Mesa gbm library" + + cd ${srcdir}/?esa-* + install -m755 -d "${pkgdir}/usr/lib" + bin/minstall lib/libgbm.so* "${pkgdir}/usr/lib/" + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + bin/minstall src/gbm/main/gbm.pc "${pkgdir}/usr/lib/pkgconfig/" + + install -m755 -d "${pkgdir}/usr/share/licenses/libgbm" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgbm/" +} + +package_libgles() { + depends=('libglapi' 'khrplatform-devel') + pkgdesc="Mesa GLES libraries and headers" + + cd ${srcdir}/?esa-* + install -m755 -d "${pkgdir}/usr/lib" + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + install -m755 -d "${pkgdir}/usr/include" + install -m755 -d "${pkgdir}/usr/include/GLES" + install -m755 -d "${pkgdir}/usr/include/GLES2" + bin/minstall lib/libGLESv* "${pkgdir}/usr/lib/" + bin/minstall src/mapi/es1api/glesv1_cm.pc "${pkgdir}/usr/lib/pkgconfig/" + bin/minstall src/mapi/es2api/glesv2.pc "${pkgdir}/usr/lib/pkgconfig/" + bin/minstall include/GLES/* "${pkgdir}/usr/include/GLES/" + bin/minstall include/GLES2/* "${pkgdir}/usr/include/GLES2/" + bin/minstall include/GLES2/* "${pkgdir}/usr/include/GLES2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/libgles" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgles/" +} + +package_libegl() { + depends=('libglapi' 'libdrm' 'libxext' 'libxfixes' 'udev' 'khrplatform-devel') + pkgdesc="Mesa EGL libraries and headers" + + cd ${srcdir}/?esa-* + make -C src/gallium/targets/egl-static DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/lib" + install -m755 -d "${pkgdir}/usr/lib/pkgconfig" + install -m755 -d "${pkgdir}/usr/include" + install -m755 -d "${pkgdir}/usr/include/" + install -m755 -d "${pkgdir}/usr/include/EGL" + install -m755 -d "${pkgdir}/usr/share" + install -m755 -d "${pkgdir}/usr/share/doc" + install -m755 -d "${pkgdir}/usr/share/doc/libegl" + bin/minstall lib/libEGL.so* "${pkgdir}/usr/lib/" + install -m755 -d "${pkgdir}/usr/lib/egl" + bin/minstall lib/egl/* "${pkgdir}/usr/lib/egl/" + bin/minstall src/egl/main/egl.pc "${pkgdir}/usr/lib/pkgconfig/" + bin/minstall include/EGL/* "${pkgdir}/usr/include/EGL/" + bin/minstall docs/egl.html "${pkgdir}/usr/share/doc/libegl/" + + install -m755 -d "${pkgdir}/usr/share/licenses/libegl" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libegl/" +} + +package_khrplatform-devel() { + #depends=('') + pkgdesc="Khronos platform development package" + + cd ${srcdir}/?esa-* + install -m755 -d "${pkgdir}/usr/include/KHR" + bin/minstall include/KHR/khrplatform.h "${pkgdir}/usr/include/KHR/" + + install -m755 -d "${pkgdir}/usr/share/licenses/khrplatform-devel" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/khrplatform-devel/" +} + +package_mesa() { + depends=('libgl' 'libx11>=1.4.3' 'libxt>=1.1.1' 'gcc-libs>=4.6' 'dri2proto>=2.6' 'glproto>=1.4.14') #dri2proto + glproto needed for gl.pc + optdepends=('opengl-man-pages: for the OpenGL API man pages') + pkgdesc="Mesa 3-D graphics libraries and include files" + + cd ${srcdir}/?esa-* + make DESTDIR="${pkgdir}" install + + rm -f "${pkgdir}/usr/lib/libGL.so"* + rm -f "${pkgdir}/usr/lib/libglapi.so"* + rm -f "${pkgdir}/usr/lib/libgbm.so"* + rm -f "${pkgdir}/usr/lib/libGLESv"* + rm -f "${pkgdir}/usr/lib/libEGL"* + rm -rf "${pkgdir}/usr/lib/egl" + rm -f "${pkgdir}/usr/lib/libOSMesa"* + rm -f ${pkgdir}/usr/lib/pkgconfig/{glesv1_cm.pc,glesv2.pc,egl.pc,osmesa.pc,gbm.pc} + rm -rf "${pkgdir}/usr/lib/xorg" + rm -f "${pkgdir}/usr/include/GL/glew.h" + rm -f "${pkgdir}/usr/include/GL/glxew.h" + rm -f "${pkgdir}/usr/include/GL/wglew.h" + rm -f "${pkgdir}/usr/include/GL/glut.h" + rm -rf ${pkgdir}/usr/include/{GLES,GLES2,EGL,KHR} + + install -m755 -d "${pkgdir}/usr/share/licenses/mesa" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/" +} + +package_ati-dri() { + depends=("libgl=${pkgver}") + pkgdesc="Mesa DRI radeon/r200 + Gallium3D r300,r600 drivers for AMD/ATI Radeon" + conflicts=('xf86-video-ati<6.9.0-6') + + # classic mesa drivers for radeon,r200 + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/radeon DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/r200 DESTDIR="${pkgdir}" install + # gallium3D driver for r300,r600 + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install +} + +package_intel-dri() { + depends=("libgl=${pkgver}") + pkgdesc="Mesa DRI drivers for Intel" + + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i915 DESTDIR="${pkgdir}" install + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/i965 DESTDIR="${pkgdir}" install +} + +package_nouveau-dri() { + depends=("libgl=${pkgver}") + pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau" + + # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so + make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/nouveau DESTDIR="${pkgdir}" install + # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install +} + +package_svga-dri() { + depends=("mesa=${pkgver}") + pkgdesc="Gallium3D VMware guest GL driver" + + make -C ${srcdir}/?esa-*/src/gallium/targets/dri-vmwgfx DESTDIR="${pkgdir}" install +} diff --git a/testing/mesa/mesa-8.0.3-llvm-3.1-fixes.patch b/testing/mesa/mesa-8.0.3-llvm-3.1-fixes.patch new file mode 100644 index 000000000..a567b5926 --- /dev/null +++ b/testing/mesa/mesa-8.0.3-llvm-3.1-fixes.patch @@ -0,0 +1,46 @@ +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +index a50a51d..f1bb4d9 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +@@ -235,7 +235,24 @@ lp_disassemble(const void* func) + int AsmPrinterVariant = AsmInfo->getAssemblerDialect(); + #endif + +-#if HAVE_LLVM >= 0x0300 ++#if HAVE_LLVM >= 0x0301 ++ OwningPtr MRI(T->createMCRegInfo(Triple)); ++ if (!MRI) { ++ debug_printf("error: no register info for target %s\n", Triple.c_str()); ++ return; ++ } ++ ++ OwningPtr MII(T->createMCInstrInfo()); ++ if (!MII) { ++ debug_printf("error: no instruction info for target %s\n", Triple.c_str()); ++ return; ++ } ++#endif ++ ++#if HAVE_LLVM >= 0x0301 ++ OwningPtr Printer( ++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI)); ++#elif HAVE_LLVM == 0x0300 + OwningPtr Printer( + T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI)); + #elif HAVE_LLVM >= 0x0208 +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +index fe7616b..68f8808 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +@@ -62,7 +62,11 @@ + extern "C" void + lp_register_oprofile_jit_event_listener(LLVMExecutionEngineRef EE) + { ++#if HAVE_LLVM >= 0x0301 ++ llvm::unwrap(EE)->RegisterJITEventListener(llvm::JITEventListener::createOProfileJITEventListener()); ++#else + llvm::unwrap(EE)->RegisterJITEventListener(llvm::createOProfileJITEventListener()); ++#endif + } + + -- cgit v1.2.3-54-g00ecf