mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 06:28:55 +02:00
Removed the full-stop and repeating package name in SUMMARY. Removed hard line breaks, broke up some very long paragraphs and use bullet lists where possible. All done by browsing through HaikuDepot. There may be (many) more left in the whole haikuports repo... Included 10 extended desriptions done by soyoye14 for GCI 2014 (https://www.google-melange.com/gci/task/view/google/gci2014/5240373098053632) Removed/insert whitespace where it seems to be the custom in recipes. Sometimes rearranged elements of a recipe (moving license and copyright up, for example).
153 lines
4.7 KiB
Plaintext
153 lines
4.7 KiB
Plaintext
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
|
|
lib:libstdc++$secondaryArchSuffix
|
|
lib:libgcc_s$secondaryArchSuffix
|
|
"
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
"
|
|
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
|
|
"
|