exult, new recipe (#9008)

This commit is contained in:
Schrijvers Luc
2023-07-10 13:01:00 +02:00
committed by GitHub
parent 8b8bf71933
commit cc31c0dfbf
3 changed files with 206 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "@APP_NAME@",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E636966010200040249090977FF282833020606FF07BD33B89CBD33B89CBD33"
$"BAA640BCB0BE58BCB0C127BCB0C24CB89CC24CBAA6C24CB62540B50AC0C5B50A"
$"BEBAB50ABD33B89CBD33B625BD33B89CB89C021440204020C1CA20C457B89CC4"
$"96B487C425BC2EC1EEBE38C1EEBE38C3DCBE3854BE38C5CABE38C898BE38C55C"
$"C147C62FC077C3E9C033C0F0C042C174C042C0C5C042C1CAC7E8C042C661C25F"
$"C87DC2D6C940C2D3C8E8C2D9C983C281C9F3C2BBC9BDC196CACC4060C0ABCBA6"
$"BED9CBA6BD0CC9F3BDF2CACCBCD6C9C0BCB6C94DBCB7C98ABCB3C8F2BDB5C7E8"
$"BD19C885BF3DC661BE95C042BEBAC042BE10C042BA23C147BB96C038B950C077"
$"B7CDBE38B6DCBE38B9B9BE38BD93BE38BBA6BE38BD93BE38BB28B89CBB65BC2E"
$"BAECB4874020BDB5204020402040204020010A0002000100"
};

View File

@@ -0,0 +1,131 @@
SUMMARY="Ultima 7 game engine that runs on modern operating systems"
DESCRIPTION="As computers evolve, we risk losing classic games from the not-so-distant past. One \
of these, Ultima VII, a two part RPG from the early 1990's, still has a huge following, and many \
consider it to be one of the most immersive games ever produced.
Exult is a project to recreate Ultima VII for modern operating systems, using the game's original \
plot, data, and graphics files.
For Haiku:
Users should install the game data to ~/config/non-packaged/data/exult to be able to play the game."
HOMEPAGE="https://exult.sourceforge.io/"
COPYRIGHT="2022 The Exult Team"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="http://prdownloads.sourceforge.net/exult/exult-$portVersion.tar.gz"
CHECKSUM_SHA256="dae6b7b08925d3db1dda3aca612bdc08d934ca04de817a008f305320e667faf9"
SOURCE_URI_2="http://downloads.sourceforge.net/exult/exult_audio.zip"
CHECKSUM_SHA256_2="72e10efa8664a645470ceb99f6b749ce99c3d5fd1c8387c63640499cfcdbbc68"
PATCHES="exult-$portVersion.patchset"
ADDITIONAL_FILES="exult.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
exult$secondaryArchSuffix = $portVersion
cmd:cmanip$commandSuffix = $portVersion
cmd:expack$commandSuffix = $portVersion
cmd:exult$commandSuffix = $portVersion
# cmd:exult_studio$commandSuffix = $portVersion
cmd:ipack$commandSuffix = $portVersion
cmd:mklink$commandSuffix = $portVersion
cmd:rip$commandSuffix = $portVersion
cmd:shp2pcx$commandSuffix = $portVersion
cmd:splitshp$commandSuffix = $portVersion
cmd:textpack$commandSuffix = $portVersion
cmd:u7voice2syx$commandSuffix = $portVersion
cmd:ucxt$commandSuffix = $portVersion
cmd:wuc$commandSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
# lib:libatk_1.0$secondaryArchSuffix
# lib:libcairo$secondaryArchSuffix
# lib:libcairo_gobject$secondaryArchSuffix
lib:libfluidsynth$secondaryArchSuffix
# lib:libgdk_3$secondaryArchSuffix
# lib:libgdk_pixbuf_2.0$secondaryArchSuffix
# lib:libgio_2.0$secondaryArchSuffix
# lib:libglib_2.0$secondaryArchSuffix
# lib:libgobject_2.0$secondaryArchSuffix
# lib:libharfbuzz$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
# lib:libpango_1.0$secondaryArchSuffix
# lib:libpangocairo_1.0$secondaryArchSuffix
# lib:libpng16$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libvorbisfile$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libfluidsynth$secondaryArchSuffix
# devel:libgdk_3$secondaryArchSuffix
# devel:libgdk_pixbuf_2.0$secondaryArchSuffix
devel:libSDL2_2.0$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libvorbisfile$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:autoconf
cmd:automake
cmd:gcc$secondaryArchSuffix
cmd:libtool$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
./autogen.sh
runConfigure --omit-dirs binDir ./configure \
--bindir=$commandBinDir #--enable-exult-studio
make $jobArgs
}
INSTALL()
{
make install
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local APP_NAME="Exult"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.exult"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_NAME@|$APP_NAME|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/exult.rdef.in > exult.rdef
addResourcesToBinaries exult.rdef $commandBinDir/exult
# install music pack
mkdir -p $dataDir/exult/music
cp $sourceDir2/*.flx $dataDir/exult
cp $sourceDir2/*.txt $dataDir/exult
cp $sourceDir2/music/*.ogg $dataDir/exult/music
# we are not linux
rm -rf $dataDir/{applications,icons}
# create Deskbar links
addAppDeskbarSymlink $commandBinDir/exult Exult
# addAppDeskbarSymlink $commandBinDir/exult_studio "Exult Studio"
}

View File

@@ -0,0 +1,48 @@
From 4579cedc5be64382502eac86ea121ea0a117d85a Mon Sep 17 00:00:00 2001
From: Begasus <begasus@gmail.com>
Date: Sat, 8 Jul 2023 12:43:29 +0000
Subject: Set config directory for Haiku
diff --git a/files/utils.cc b/files/utils.cc
index 3bd8f1c..234cb00 100644
--- a/files/utils.cc
+++ b/files/utils.cc
@@ -759,6 +759,10 @@ static string Get_config_dir(const string& home_dir) {
string config_dir(home_dir);
config_dir += "/Library/Preferences";
return config_dir;
+#elif defined(__HAIKU__)
+ string config_dir(home_dir);
+ config_dir += "/config/settings/exult";
+ return config_dir;
#else
return home_dir;
#endif
@@ -775,6 +779,11 @@ static string Get_savehome_dir(const string& home_dir, const string& config_dir)
string savehome_dir(home_dir);
savehome_dir += "/Library/Application Support/Exult";
return savehome_dir;
+#elif defined(__HAIKU__)
+ ignore_unused_variable_warning(config_dir);
+ string savehome_dir(home_dir);
+ savehome_dir += "/config/settings/exult";
+ return savehome_dir;
#elif defined(XWIN)
ignore_unused_variable_warning(config_dir);
string savehome_dir(home_dir);
@@ -795,6 +804,11 @@ static string Get_gamehome_dir(const string& home_dir, const string& config_dir)
#elif defined(MACOSX)
ignore_unused_variable_warning(home_dir, config_dir);
return "/Library/Application Support/Exult";
+#elif defined(__HAIKU__)
+ ignore_unused_variable_warning(config_dir);
+ string gamehome_dir(home_dir);
+ gamehome_dir += "/config/non-packaged/data/exult";
+ return gamehome_dir;
#elif defined(XWIN)
ignore_unused_variable_warning(home_dir, config_dir);
return EXULT_DATADIR;
--
2.37.3