diff --git a/games-engines/exult/additional-files/exult.rdef.in b/games-engines/exult/additional-files/exult.rdef.in index 2c7e39acc..0e213d526 100644 --- a/games-engines/exult/additional-files/exult.rdef.in +++ b/games-engines/exult/additional-files/exult.rdef.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, diff --git a/games-engines/exult/exult-1.12.1.recipe b/games-engines/exult/exult-1.12.1.recipe new file mode 100644 index 000000000..828f07303 --- /dev/null +++ b/games-engines/exult/exult-1.12.1.recipe @@ -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 +} diff --git a/games-engines/exult/exult-1.8.recipe b/games-engines/exult/exult-1.8.recipe deleted file mode 100644 index 641406045..000000000 --- a/games-engines/exult/exult-1.8.recipe +++ /dev/null @@ -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" -} diff --git a/games-engines/exult/patches/exult-1.8.patchset b/games-engines/exult/patches/exult-1.8.patchset deleted file mode 100644 index 4544407ee..000000000 --- a/games-engines/exult/patches/exult-1.8.patchset +++ /dev/null @@ -1,48 +0,0 @@ -From 4579cedc5be64382502eac86ea121ea0a117d85a Mon Sep 17 00:00:00 2001 -From: Begasus -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 -