Files
haikuports/games-engines/openscenegraph/openscenegraph-3.6.0.recipe
miqlas f3717f5389 OpenSceneGraph : bump, cleanup, debuginfo, whatever (#2454)
* OpenSceneGraph : bump, cleanup, debuginfo, whatever

* png16

* libOpenThreadsVersionCompat

* Cleanup
2018-04-26 06:08:51 +02:00

199 lines
7.1 KiB
Bash

SUMMARY="An open source, real-time graphics middle-ware used by developers"
DESCRIPTION="The OpenSceneGraph is an open source high performance 3D \
graphics toolkit, used by application developers in fields such as visual \
simulation, games, virtual reality, scientific visualization and modelling. \
Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, \
OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems. The \
OpenSceneGraph is now well established as the world leading scene graph \
technology, used widely in the vis-sim, space, scientific, oil-gas, games and \
virtual reality industries."
HOMEPAGE="http://www.openscenegraph.org/"
COPYRIGHT="2002-2018 Robert Osfield and others"
LICENSE="OSGPL"
REVISION="1"
SOURCE_URI="https://github.com/openscenegraph/OpenSceneGraph/archive/OpenSceneGraph-$portVersion.tar.gz"
CHECKSUM_SHA256='6f57134ea74a39f1c7b24c285e6278cf906c47f6c681573b86d12173a466efed'
SOURCE_DIR="OpenSceneGraph-OpenSceneGraph-$portVersion"
PATCHES="openscenegraph-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
libVersion=$portVersion
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
libOpenThreadsVersion="3.3.1"
libOpenThreadsVersionCompat="$libOpenThreadsVersion compat >= ${libOpenThreadsVersion%%.*}"
PROVIDES="
openscenegraph$secondaryArchSuffix = $portVersion
lib:libOpenThreads$secondaryArchSuffix = $libOpenThreadsVersionCompat
lib:libosg$secondaryArchSuffix = $libVersionCompat
lib:libosgAnimation$secondaryArchSuffix = $libVersionCompat
lib:libosgDB$secondaryArchSuffix = $libVersionCompat
lib:libosgFX$secondaryArchSuffix = $libVersionCompat
lib:libosgGA$secondaryArchSuffix = $libVersionCompat
lib:libosgManipulator$secondaryArchSuffix = $libVersionCompat
lib:libosgParticle$secondaryArchSuffix = $libVersionCompat
lib:libosgPresentation$secondaryArchSuffix = $libVersionCompat
lib:libosgShadow$secondaryArchSuffix = $libVersionCompat
lib:libosgSim$secondaryArchSuffix = $libVersionCompat
lib:libosgTerrain$secondaryArchSuffix = $libVersionCompat
lib:libosgText$secondaryArchSuffix = $libVersionCompat
lib:libosgUI$secondaryArchSuffix = $libVersionCompat
lib:libosgUtil$secondaryArchSuffix = $libVersionCompat
lib:libosgViewer$secondaryArchSuffix = $libVersionCompat
lib:libosgVolume$secondaryArchSuffix = $libVersionCompat
lib:libosgWidget$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
mesa$secondaryArchSuffix
# lib:libavcodec$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libEGL$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgdal$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgif$secondaryArchSuffix
# lib:libgstreamer_1.0$secondaryArchSuffix
lib:libhalf$secondaryArchSuffix
lib:libIlmImf$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjasper$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
# lib:libOpenCOLLADABaseUtils$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libpoppler${secondaryArchSuffix}_glib
lib:libsdl$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
# lib:libTKGeomBase$secondaryArchSuffix #opencascade
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
openscenegraph${secondaryArchSuffix}_devel = $portVersion
devel:libOpenThreads$secondaryArchSuffix = $libVersionCompat
devel:libosg$secondaryArchSuffix = $libVersionCompat
devel:libosgAnimation$secondaryArchSuffix = $libVersionCompat
devel:libosgDB$secondaryArchSuffix = $libVersionCompat
devel:libosgFX$secondaryArchSuffix = $libVersionCompat
devel:libosgGA$secondaryArchSuffix = $libVersionCompat
devel:libosgManipulator$secondaryArchSuffix = $libVersionCompat
devel:libosgParticle$secondaryArchSuffix = $libVersionCompat
devel:libosgPresentation$secondaryArchSuffix = $libVersionCompat
devel:libosgShadow$secondaryArchSuffix = $libVersionCompat
devel:libosgSim$secondaryArchSuffix = $libVersionCompat
devel:libosgTerrain$secondaryArchSuffix = $libVersionCompat
devel:libosgText$secondaryArchSuffix = $libVersionCompat
devel:libosgUI$secondaryArchSuffix = $libVersionCompat
devel:libosgUtil$secondaryArchSuffix = $libVersionCompat
devel:libosgViewer$secondaryArchSuffix = $libVersionCompat
devel:libosgVolume$secondaryArchSuffix = $libVersionCompat
devel:libosgWidget$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
openscenegraph$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
mesa${secondaryArchSuffix}_devel
# devel:libavcodec$secondaryArchSuffix
devel:libcairo$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libEGL$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgdal$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgif$secondaryArchSuffix
# devel:libgstreamer_1.0$secondaryArchSuffix
devel:libhalf$secondaryArchSuffix
devel:libIlmImf$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libjasper$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
# devel:libOpenCOLLADABaseUtils$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpoppler${secondaryArchSuffix}_glib
devel:libsdl$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
# devel:libTKGeomBase$secondaryArchSuffix #opencascade
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage openscenegraph$secondaryArchSuffix \
$libDir/libOpenThreads.so.$libOpenThreadsVersion \
$libDir/libosg.so.$libVersion \
$libDir/libosgAnimation.so.$libVersion \
$libDir/libosgDB.so.$libVersion \
$libDir/libosgFX.so.$libVersion \
$libDir/libosgGA.so.$libVersion \
$libDir/libosgManipulator.so.$libVersion \
$libDir/libosgParticle.so.$libVersion \
$libDir/libosgPresentation.so.$libVersion \
$libDir/libosgShadow.so.$libVersion \
$libDir/libosgSim.so.$libVersion \
$libDir/libosgTerrain.so.$libVersion \
$libDir/libosgText.so.$libVersion \
$libDir/libosgUI.so.$libVersion \
$libDir/libosgUtil.so.$libVersion \
$libDir/libosgViewer.so.$libVersion \
$libDir/libosgVolume.so.$libVersion \
$libDir/libosgWidget.so.$libVersion
BUILD()
{
mkdir -p build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DBUILD_OSG_APPLICATIONS=OFF \
-DOSG_WINDOWING_SYSTEM=None \
$cmakeDirArgs
make $jobArgs
}
INSTALL()
{
cd build
make install
mkdir -p $includeDir
mv $prefix/include/* $includeDir/
rm -rf $prefix/include
# Secondary-arch libdir cleanup
mkdir -p $prefix/lib-temp
mv $prefix/lib/* $prefix/lib-temp/
mkdir -p $libDir
mv $prefix/lib-temp/* $libDir
rm -rf $prefix/lib-temp
prepareInstalledDevelLibs libOpenThreads libosg libosgAnimation libosgDB \
libosgFX libosgGA libosgManipulator libosgParticle libosgPresentation \
libosgShadow libosgSim libosgTerrain libosgText libosgUI libosgUtil \
libosgViewer libosgVolume libosgWidget
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
cd build
make test
}