Mesa: Add 10.2.9, package untested

This commit is contained in:
Alexander von Gluck IV
2014-11-03 15:02:23 +00:00
parent 057164b245
commit b594c38f5c
2 changed files with 194 additions and 0 deletions

View File

@@ -0,0 +1,156 @@
SUMMARY="Multi-platform GL implementation"
DESCRIPTION="
Mesa is an open-source implementation of the OpenGL specification. The OpenGL \
specification documents a system for rendering interactive 3D graphics.
Mesa fills the role of the Haiku OpenGL kit providing 3D rendering to Haiku \
applications.
"
HOMEPAGE="http://www.mesa3d.org/"
COPYRIGHT="1999-2013 Brian Paul All Rights Reserved."
LICENSE="MIT"
SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/10.2.9/MesaLib-10.2.9.tar.bz2"
CHECKSUM_SHA256="f6031f8b7113a92325b60635c504c510490eebb2e707119bbff7bd86aa34657d"
REVISION="1"
ARCHITECTURES="?x86 ?x86_64 ?arm ?ppc"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES ?x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
mesa$secondaryArchSuffix = $portVersion compat >= 10.0
lib:libGL$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libstdc++$secondaryArchSuffix
lib:libgcc_s$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
"
BUILD_PREREQUIRES="
libxml2_python
llvm${secondaryArchSuffix}
cmd:bison
cmd:find
cmd:flex
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:scons
cmd:sed
"
SOURCE_DIR="Mesa-$portVersion"
PATCHES="mesa-10.2.9.patchset"
BUILD()
{
if [ -n "$secondaryArchSuffix" ]; then
export HAIKU_SECONDARY_ARCH="$effectiveTargetArchitecture"
fi
scons $jobArgs build=release
#scons $jobArgs build=debug
}
INSTALL()
{
mesaBuildDir=build/haiku-$effectiveTargetArchitecture
# libGL.so makes up the core of our OpenGL kit
mkdir -p $libDir
cp $(find $mesaBuildDir -name 'libGL.so') $libDir
mkdir -p $developLibDir
symlinkRelative -s $libDir/libGL.so $developLibDir
# Our rendering add-ons
mkdir -p $addOnsDir/opengl
cp $(find $mesaBuildDir -name 'libswrast.so') \
"$addOnsDir/opengl/Software Rasterizer"
cp $(find $mesaBuildDir -name 'libswpipe.so') \
"$addOnsDir/opengl/Software Pipe"
# Set some nice version info
setversion "$libDir/libGL.so" -app 10 2 9 -long "Haiku OpenGL kit"
setversion "$addOnsDir/opengl/Software Rasterizer" -app 10 2 9 -long "Mesa software rasterization renderer"
setversion "$addOnsDir/opengl/Software Pipe" -app 10 2 9 -long "Gallium LLVM software pipe renderer"
# OpenGL Kit
mkdir -p $includeDir/os/opengl
cp ./include/HaikuGL/OpenGLKit.h $includeDir/os/
cp ./include/HaikuGL/GLView.h $includeDir/os/opengl/
cp ./include/HaikuGL/GLRenderer.h $includeDir/os/opengl/
# Standard GL headers
mkdir -p $includeDir/GL
cp ./include/GL/gl.h $includeDir/GL/
cp ./include/GL/gl_mangle.h $includeDir/GL/
cp ./include/GL/glext.h $includeDir/GL/
# Create GL symlink in opengl kit
symlinkRelative -s $includeDir/GL $includeDir/os/opengl/GL
# devel package
packageEntries devel \
$developDir
# swpipe renderer package
packageEntries swpipe \
"$addOnsDir/opengl/Software Pipe"
# swrast renderer package
packageEntries swrast \
"$addOnsDir/opengl/Software Rasterizer"
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
mesa${secondaryArchSuffix}_devel = $portVersion
devel:libGL$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
mesa$secondaryArchSuffix == $portVersion base
"
# ===== Mesa OpenGL Add-ons ==================================================
# ----- swrast package -------------------------------------------------------
SUMMARY_swrast="Mesa software rasterization renderer"
DESCRIPTION_swrast="This 3D BGLRenderer add-on provides Mesa software
rasterization on Haiku systems. Software rasterization performs all
3D rendering on the systems CPU and doesn't require any specialized
hardware. Software rasterization is generally considered a fallback
3D rendering method as performance is limited.
"
PROVIDES_swrast="
mesa${secondaryArchSuffix}_swrast = $portVersion
"
REQUIRED_swrast="
mesa$secondaryArchSuffix == $portVersion base
"
# ===== Gallium OpenGL Add-ons ===============================================
# ----- swpipe package -------------------------------------------------------
SUMMARY_swpipe="Mesa LLVM enhanced Gallium software pipe renderer"
DESCRIPTION_swpipe="This 3D BGLRenderer add-on provides Gallium LLVM
enhanced software rendering. Software pipe rendering performs all
3D rendering on the systems CPU and doesn't require any specialized
hardware. The usage of LLVM over traditional rasterization gives this
renderer a boost in performance.
Gallium software pipe rendering is in an extremely early state as of
this version of Mesa, and may not function as expected.
"
PROVIDES_swpipe="
mesa${secondaryArchSuffix}_swpipe = $portVersion
"
REQUIRED_swpipe="
mesa$secondaryArchSuffix == $portVersion base
"

View File

@@ -0,0 +1,38 @@
From 2307170a7f009bc41a24bdf430b5d48758b3b042 Mon Sep 17 00:00:00 2001
From: Alexander von Gluck IV <kallisti5@unixzen.com>
Date: Tue, 20 May 2014 19:20:58 -0500
Subject: [PATCH] haiku: Add missing u_memory.h for FREE()
Acked-by: Brian Paul <brianp@vmware.com>
---
src/gallium/targets/haiku-softpipe/GalliumContext.cpp | 1 +
src/gallium/targets/haiku-softpipe/GalliumFramebuffer.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/gallium/targets/haiku-softpipe/GalliumContext.cpp b/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
index 52cd764..d6b5f85 100644
--- a/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
+++ b/src/gallium/targets/haiku-softpipe/GalliumContext.cpp
@@ -26,6 +26,7 @@ extern "C" {
#include "state_tracker/st_gl_api.h"
#include "state_tracker/st_manager.h"
#include "state_tracker/sw_winsys.h"
+#include "util/u_memory.h"
#include "hgl_sw_winsys.h"
#include "target-helpers/inline_sw_helper.h"
diff --git a/src/gallium/targets/haiku-softpipe/GalliumFramebuffer.cpp b/src/gallium/targets/haiku-softpipe/GalliumFramebuffer.cpp
index dd726ef..f367d9d 100644
--- a/src/gallium/targets/haiku-softpipe/GalliumFramebuffer.cpp
+++ b/src/gallium/targets/haiku-softpipe/GalliumFramebuffer.cpp
@@ -16,6 +16,7 @@ extern "C" {
#include "main/renderbuffer.h"
#include "pipe/p_format.h"
#include "state_tracker/st_manager.h"
+#include "util/u_memory.h"
}
#include "GalliumContext.h"
--
1.8.3.4