0
0
Fork 0
haikuports/games-engines/openmw/openmw-0.47.0.recipe

219 lines
7.1 KiB
Bash
Raw Permalink Normal View History

SUMMARY="Open source reimplementation of TES III: Morrowind"
DESCRIPTION="OpenMW is a new and modern engine based on the one that runs the \
2002 open-world RPG Morrowind. The engine (OpenMW) will come with its own editor \
(OpenCS) which will allow the user to edit or create their own games. Both OpenCS \
and OpenMW are written from scratch and arent made to support any third party \
programs the original Morrowind engine uses to improve its functionality."
HOMEPAGE="https://openmw.org/"
2021-11-11 06:45:00 +00:00
COPYRIGHT="2008-2021 OpenMW"
LICENSE="
GNU GPL v3
MIT
Zlib
"
2021-11-11 06:45:00 +00:00
REVISION="1"
2019-03-29 14:03:29 +00:00
SOURCE_URI="https://github.com/OpenMW/openmw/archive/openmw-$portVersion.tar.gz"
SOURCE_FILENAME="openmw-$portVersion.tar.gz"
2021-11-11 06:45:00 +00:00
CHECKSUM_SHA256="bd7f77e1527c2180e9b0dfcbe401d6fb48f24dbb37701dac7747697873d6edb4"
2019-03-29 14:03:29 +00:00
SOURCE_DIR="openmw-openmw-$portVersion"
2021-11-11 06:45:00 +00:00
osgVersion="3.6.5"
2019-03-29 14:03:29 +00:00
SOURCE_URI_2="https://github.com/openscenegraph/OpenSceneGraph/archive/OpenSceneGraph-$osgVersion.tar.gz"
2021-11-11 06:45:00 +00:00
CHECKSUM_SHA256_2="aea196550f02974d6d09291c5d83b51ca6a03b3767e234a8c0e21322927d1e12"
2019-03-29 14:03:29 +00:00
SOURCE_DIR_2="OpenSceneGraph-OpenSceneGraph-$osgVersion"
PATCHES="openmw-$portVersion.patchset"
PATCHES_2="osg-$osgVersion.patchset"
ADDITIONAL_FILES="
openmw.rdef.in
haikuicons.zip
"
ARCHITECTURES="all !x86_gcc2"
if [ "$targetArchitecture" = x86_gcc2 ]; then
SECONDARY_ARCHITECTURES="x86"
fi
PROVIDES="
openmw$secondaryArchSuffix = $portVersion
app:OpenMW$secondaryArchSuffix = $portVersion
app:OpenMW_Launcher$secondaryArchSuffix = $portVersion
app:OpenMW_Wizard$secondaryArchSuffix = $portVersion
app:OpenMW_CS$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavformat$secondaryArchSuffix
lib:libavutil$secondaryArchSuffix
lib:libboost_filesystem$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix
lib:libboost_program_options$secondaryArchSuffix
lib:libBulletCollision$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libLinearMath$secondaryArchSuffix
2021-11-11 06:45:00 +00:00
lib:liblz4$secondaryArchSuffix
lib:libMyGUIEngine$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libSDL2_image_2.0$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libunshield$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libavcodec$secondaryArchSuffix
devel:libavformat$secondaryArchSuffix
devel:libavutil$secondaryArchSuffix
devel:libboost_filesystem$secondaryArchSuffix
devel:libboost_system$secondaryArchSuffix
devel:libboost_program_options$secondaryArchSuffix
devel:libBulletCollision$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libGLU$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libLinearMath$secondaryArchSuffix
2021-11-11 06:45:00 +00:00
devel:liblz4$secondaryArchSuffix
devel:libMyGUIEngine$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
devel:libSDL2_2.0$secondaryArchSuffix
devel:libSDL2_image_2.0$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libunshield$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:git
2019-03-29 14:03:29 +00:00
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
2019-10-12 11:54:31 +00:00
cmd:pkg_config$secondaryArchSuffix
cmd:zip
"
PATCH()
{
unzip -o $sourceDir/../../additional-files/haikuicons.zip -d $sourceDir
}
BUILD()
{
mkdir -p $sourceDir2/build
cd $sourceDir2/build
cmake .. \
-DCMAKE_INSTALL_PREFIX=$appsDir/OpenMW \
-DCMAKE_BUILD_TYPE=Release \
-DSDL2_INCLUDE_DIR=/system/$relativeIncludeDir/SDL2 \
-DBUILD_OSG_PLUGINS_BY_DEFAULT=OFF \
-DBUILD_OSG_PLUGIN_OSG=ON \
-DBUILD_OSG_PLUGIN_DDS=ON \
-DBUILD_OSG_PLUGIN_TGA=ON \
-DBUILD_OSG_PLUGIN_BMP=ON \
-DBUILD_OSG_PLUGIN_JPEG=ON \
-DBUILD_OSG_PLUGIN_PNG=ON \
-DBUILD_OSG_DEPRECATED_SERIALIZERS=OFF \
-DBUILD_OSG_APPLICATIONS=OFF \
2019-03-29 14:03:29 +00:00
-DOSG_GL3_AVAILABLE=OFF \
-DOSG_WINDOWING_SYSTEM=None
make $jobArgs
make install
export OSG_DIR=$appsDir/OpenMW
mkdir -p $sourceDir/build
cd $sourceDir/build
cmake .. \
-DCMAKE_INSTALL_PREFIX=$appsDir/OpenMW \
-DCMAKE_BUILD_TYPE=Release \
-DBullet_INCLUDE_DIR=/system/$relativeIncludeDir/bullet \
-DDESIRED_QT_VERSION=5 \
-DBUILD_BSATOOL=ON \
-DBUILD_DOCS=OFF \
-DBUILD_ESMTOOL=OFF \
-DBUILD_LAUNCHER=ON \
-DBUILD_NIFTEST=OFF \
-DBUILD_OPENCS=ON \
-DBUILD_UNITTESTS=OFF \
-DBUILD_WIZARD=ON
make $jobArgs
}
INSTALL()
{
cd $sourceDir2/build
make install
cd $sourceDir/build
make install
mv -f $appsDir/OpenMW/games/openmw/* $appsDir/OpenMW
rm -rf $appsDir/OpenMW/{applications,data,games,include,licenses,lib/pkgconfig,metainfo,pixmaps}
# capitalize application names
mv $appsDir/OpenMW/openmw $appsDir/OpenMW/OpenMW
mv $appsDir/OpenMW/openmw-launcher $appsDir/OpenMW/OpenMW-Launcher
mv $appsDir/OpenMW/openmw-wizard $appsDir/OpenMW/OpenMW-Wizard
mv $appsDir/OpenMW/openmw-cs $appsDir/OpenMW/OpenMW-CS
local APP_SIGNATURE="application/x-vnd.openmw"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/openmw.rdef.in > $sourceDir/build/openmw.rdef
addResourcesToBinaries $sourceDir/build/openmw.rdef $appsDir/OpenMW/OpenMW
local APP_SIGNATURE="application/x-vnd.openmw-launcher"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/openmw.rdef.in > $sourceDir/build/openmw-launcher.rdef
addResourcesToBinaries $sourceDir/build/openmw-launcher.rdef $appsDir/OpenMW/OpenMW-Launcher
local APP_SIGNATURE="application/x-vnd.openmw-cs"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/openmw.rdef.in > $sourceDir/build/openmw-cs.rdef
addResourcesToBinaries $sourceDir/build/openmw-cs.rdef $appsDir/OpenMW/OpenMW-CS
local APP_SIGNATURE="application/x-vnd.openmw-wizard"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/openmw.rdef.in > $sourceDir/build/openmw-wizard.rdef
addResourcesToBinaries $sourceDir/build/openmw-wizard.rdef $appsDir/OpenMW/OpenMW-Wizard
mimeset -f $appsDir/OpenMW/OpenMW-Launcher
addAppDeskbarSymlink $appsDir/OpenMW/OpenMW-Launcher Morrowind
}