mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-08 21:00:05 +02:00
Update Exult to 1.12.1 (#13605)
This commit is contained in:
@@ -3,6 +3,7 @@ resource app_flags B_SINGLE_LAUNCH;
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_FINAL,
|
||||
internal = 0,
|
||||
|
||||
202
games-engines/exult/exult-1.12.1.recipe
Normal file
202
games-engines/exult/exult-1.12.1.recipe
Normal file
@@ -0,0 +1,202 @@
|
||||
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="2026 The Exult Team"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="http://prdownloads.sourceforge.net/exult/exult-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="5e5113e31dd8010b8dfd00b6b08f76681dc1e88254d357c92f15c202f7ed7e1f"
|
||||
SOURCE_URI_2="http://downloads.sourceforge.net/exult/exult_audio.zip"
|
||||
CHECKSUM_SHA256_2="72e10efa8664a645470ceb99f6b749ce99c3d5fd1c8387c63640499cfcdbbc68"
|
||||
ADDITIONAL_FILES="exult.rdef.in"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
exult$secondaryArchSuffix = $portVersion
|
||||
cmd:exult = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libfluidsynth$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libSDL2_2.0$secondaryArchSuffix
|
||||
lib:libogg$secondaryArchSuffix
|
||||
lib:libvorbis$secondaryArchSuffix
|
||||
lib:libvorbisfile$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
SUMMARY_studio="Ultima VII game data editor"
|
||||
DESCRIPTION_studio="Exult Studio is an Ultima VII game data editor based on the Exult project."
|
||||
|
||||
PROVIDES_studio="
|
||||
exult_studio$secondaryArchSuffix = $portVersion
|
||||
cmd:exult_studio = $portVersion
|
||||
"
|
||||
REQUIRES_studio="
|
||||
exult$secondaryArchSuffix == $portVersion base
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libatk_1.0$secondaryArchSuffix
|
||||
lib:libcairo$secondaryArchSuffix
|
||||
lib:libcairo_gobject$secondaryArchSuffix
|
||||
lib:libfreetype$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:libicudata$secondaryArchSuffix
|
||||
lib:libicuuc$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libpango_1.0$secondaryArchSuffix
|
||||
lib:libpangocairo_1.0$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
SUMMARY_tools="Command-line tools bundled with Exult"
|
||||
DESCRIPTION_tools="A collection of command-line tools bundled with Exult."
|
||||
|
||||
PROVIDES_tools="
|
||||
exult_tools$secondaryArchSuffix = $portVersion
|
||||
cmd:cmanip = $portVersion
|
||||
cmd:expack = $portVersion
|
||||
cmd:ipack = $portVersion
|
||||
cmd:mklink = $portVersion
|
||||
cmd:rip = $portVersion
|
||||
cmd:shp2pcx = $portVersion
|
||||
cmd:splitshp = $portVersion
|
||||
cmd:textpack = $portVersion
|
||||
cmd:u7voice2syx = $portVersion
|
||||
cmd:ucxt = $portVersion
|
||||
cmd:wuc = $portVersion
|
||||
"
|
||||
REQUIRES_tools="
|
||||
exult$secondaryArchSuffix == $portVersion base
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libpng16$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="
|
||||
autoconf_archive
|
||||
cmd:autoconf
|
||||
cmd:automake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:gettext$secondaryArchSuffix
|
||||
cmd:libtool$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export LDFLAGS="-lnetwork"
|
||||
|
||||
autoreconf --install
|
||||
runConfigure --omit-dirs binDir ./configure \
|
||||
--bindir=$prefix/bin --enable-exult-studio
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
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|@APP_NAME@|$APP_NAME|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
$portDir/additional-files/exult.rdef.in > exult.rdef
|
||||
|
||||
APP_NAME="Exult Studio"
|
||||
LONG_INFO="$SUMMARY_studio"
|
||||
APP_SIGNATURE="application/x-vnd.exult_studio"
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@APP_NAME@|$APP_NAME|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
$portDir/additional-files/exult.rdef.in > exult_studio.rdef
|
||||
|
||||
addResourcesToBinaries exult.rdef $prefix/bin/exult
|
||||
addResourcesToBinaries exult_studio.rdef $prefix/bin/exult_studio
|
||||
|
||||
# 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,metainfo}
|
||||
|
||||
# Make the app names uppercase then link them back in lowercase for cmd
|
||||
mkdir -p $appsDir && mv $prefix/bin/exult $appsDir/Exult
|
||||
ln -s $appsDir/Exult $prefix/bin/exult
|
||||
mv $prefix/bin/exult_studio $appsDir/"Exult Studio"
|
||||
ln -s $appsDir/"Exult Studio" $prefix/bin/exult_studio
|
||||
|
||||
# create Deskbar links
|
||||
addAppDeskbarSymlink $appsDir/Exult
|
||||
addAppDeskbarSymlink $appsDir/"Exult Studio"
|
||||
|
||||
packageEntries studio \
|
||||
$appsDir/"Exult Studio" \
|
||||
$prefix/bin/exult_studio \
|
||||
$dataDir/deskbar/menu/Applications/"Exult Studio" \
|
||||
$dataDir/exult/exult_studio.glade \
|
||||
$dataDir/exult/estudio \
|
||||
$docDir/images/studio* \
|
||||
$docDir/exult_studio.html \
|
||||
$manDir/man1/exult_studio.1
|
||||
|
||||
packageEntries tools \
|
||||
$prefix/bin/cmanip \
|
||||
$prefix/bin/expack \
|
||||
$prefix/bin/ipack \
|
||||
$prefix/bin/mklink \
|
||||
$prefix/bin/rip \
|
||||
$prefix/bin/shp2pcx \
|
||||
$prefix/bin/splitshp \
|
||||
$prefix/bin/textpack \
|
||||
$prefix/bin/u7voice2syx \
|
||||
$prefix/bin/ucxt \
|
||||
$prefix/bin/wuc \
|
||||
$manDir/man1
|
||||
}
|
||||
@@ -1,131 +0,0 @@
|
||||
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"
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user