Files
haikuports/sys-libs/mesa/mesa-11.0.1.recipe
2016-11-18 15:56:37 +01:00

137 lines
3.9 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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"
LICENSE="MIT"
REVISION="2"
SOURCE_URI="ftp://ftp.freedesktop.org/pub/mesa/${portVersion}/mesa-${portVersion}.tar.xz"
CHECKSUM_SHA256="43d0dfcd1f1e36f07f8228cd76d90175d3fc74c1ed25d7071794a100a98ef2a6"
PATCHES="mesa-11.0.1.patchset"
ARCHITECTURES="!x86_gcc2 x86 x86_64 ?arm ?ppc"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
mesa$secondaryArchSuffix = $portVersion compat >= 10.0
lib:libGL$secondaryArchSuffix
lib:libEGL$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
mesa${secondaryArchSuffix}_devel = $portVersion
devel:libGL$secondaryArchSuffix = $portVersion
devel:libEGL$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
mesa$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
llvm${secondaryArchSuffix}
python_mako
cmd:bison
cmd:find
cmd:flex
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:scons
cmd:sed
"
BUILD()
{
if [ -n "$secondaryArchSuffix" ]; then
export HAIKU_SECONDARY_ARCH="$effectiveTargetArchitecture"
fi
scons $jobArgs build=release
#scons $jobArgs build=debug
}
INSTALL()
{
mesaBuildDir=build/haiku-$effectiveTargetArchitecture
mkdir -p $libDir
mkdir -p $developLibDir
# libGL.so makes up the core of our OpenGL kit
cp $(find $mesaBuildDir -name 'libGL.so') $libDir
symlinkRelative -s $libDir/libGL.so $developLibDir
# OpenGL ES
cp $(find $mesaBuildDir -name 'libEGL.so.1') $libDir
symlinkRelative -s $libDir/libEGL.so.1 $developLibDir/libEGL.so
# Our rendering add-ons
mkdir -p $addOnsDir/opengl
cp $(find $mesaBuildDir -name 'libswpipe.so') \
"$addOnsDir/opengl/Software Pipe"
# Set some nice version info
setversion "$libDir/libGL.so" -app 11 0 1 -long "Haiku OpenGL kit"
setversion "$libDir/libEGL.so.1" -app 11 0 1 -long "Mesa EGL"
setversion "$addOnsDir/opengl/Software Pipe" -app 11 0 1 -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
# Standard EGL headers
mkdir -p $includeDir/EGL
cp ./include/EGL/* $includeDir/EGL
# Create GL symlink in opengl kit
symlinkRelative -s $includeDir/EGL $includeDir/os/opengl/EGL
# devel package
packageEntries devel \
$developDir
# swpipe renderer package
packageEntries swpipe \
"$addOnsDir/opengl/Software Pipe"
}
# ===== Gallium OpenGL Add-ons ===============================================
# ----- swpipe package -------------------------------------------------------
SUMMARY_swpipe="The 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
"