Files
haikuports/games-rpg/flare/flare-1.14.recipe
2025-08-27 08:02:56 +00:00

137 lines
4.2 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
SUMMARY="Free/Libre Action Roleplaying Engine"
DESCRIPTION="Flare is an open source, 2D action RPG licensed under the GPL3 license. Its game play \
can be likened to the games in the Diablo series.
While the core engine is written in C++ with SDL2, there is an easy to use modding interface, \
by using it, its possible to create entirely new games. On the Flare website's Mods page, \
you can find games made by the Flare team, as well a few select community projects.
This package only provides the Flare engine, gameplay mods can be installed through \
other packages or by putting them manually in 'non-packaged/data/flare/mods'."
HOMEPAGE="https://flarerpg.org/"
COPYRIGHT="2010-2022 Clint Bellanger & Flare team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/flareteam/flare-engine/archive/v$portVersion/flare-engine-v$portVersion.tar.gz"
CHECKSUM_SHA256="2c1bafeaa5ac26c10449bfcb7151b06e8a22547aa7364d2a39bbcb135aa50a09"
SOURCE_DIR="flare-engine-$portVersion"
SOURCE_URI_2="https://github.com/flareteam/flare-game/archive/v$portVersion/flare-game-v$portVersion.tar.gz"
CHECKSUM_SHA256_2="65758462070aa88842084f8ee69083d8226e93cfbf83481663276d8307494b8e"
SOURCE_DIR_2="flare-game-$portVersion"
ADDITIONAL_FILES="flare.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
flare$secondaryArchSuffix = $portVersion
app:Flare = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libsdl2_2.0$secondaryArchSuffix
lib:libsdl2_image_2.0$secondaryArchSuffix
lib:libsdl2_mixer_2.0$secondaryArchSuffix
lib:libsdl2_ttf_2.0$secondaryArchSuffix
"
SUMMARY_mod_empyrean="${SUMMARY} - Empyrean Campaign"
DESCRIPTION_mod_empyrean="The Empyrean campaign is the official campaign for Flare, the Free/Libre Action Roleplaying Engine."
ARCHITECTURES_mod_empyrean="any"
PROVIDES_mod_empyrean="
flare_mod_empyrean = $portVersion
"
REQUIRES_mod_empyrean="
flare_mod_fantasycore == $portVersion base
"
SUMMARY_mod_fantasycore="${SUMMARY} - Fantasycore mods"
DESCRIPTION_mod_fantasycore="This package includes the Fantasycore core mod, the Alpha demo gameplay mod and other basic mods for Flare."
ARCHITECTURES_mod_fantasycore="any"
PROVIDES_mod_fantasycore="
flare_mod_fantasycore = $portVersion
"
REQUIRES_mod_fantasycore="
app:Flare == $portVersion base
"
REPLACES_mod_fantasycore="flare_data"
SUMMARY_mod_minicore="${SUMMARY} - Minicore mods"
DESCRIPTION_mod_minicore="Set of Flare mods for smaller displays and handhelds."
ARCHITECTURES_mod_minicore="any"
PROVIDES_mod_minicore="
flare_mod_minicore = $portVersion
"
REQUIRES_mod_minicore="
flare_mod_fantasycore == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libsdl2_2.0$secondaryArchSuffix
devel:libsdl2_image_2.0$secondaryArchSuffix
devel:libsdl2_mixer_2.0$secondaryArchSuffix
devel:libsdl2_ttf_2.0$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
sdl2dir=$(finddir B_SYSTEM_HEADERS_DIRECTORY)${secondaryArchSubDir}/SDL2
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DSDL2_INCLUDE_DIR=$sdl2dir \
-DSDL2_IMAGE_INCLUDE_DIR=$sdl2dir \
-DSDL2_MIXER_INCLUDE_DIR=$sdl2dir \
-DSDL2_TTF_INCLUDE_DIR=$sdl2dir \
-Wno-devx
make -C build $jobArgs
}
INSTALL()
{
mkdir -p $appsDir $dataDir/flare
cp build/flare $appsDir/Flare
cp -r mods $sourceDir2/mods $dataDir/flare
local APP_SIGNATURE="application/x-vnd.flare"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/flare.rdef.in > $sourceDir/flare.rdef
packageEntries mod_empyrean $dataDir/flare/mods/empyrean_campaign
packageEntries mod_fantasycore \
$dataDir/flare/mods/alpha_demo \
$dataDir/flare/mods/centered_statbars \
$dataDir/flare/mods/devlab \
$dataDir/flare/mods/fantasycore
packageEntries mod_minicore \
$dataDir/flare/mods/gcw0_defaults \
$dataDir/flare/mods/minicore \
$dataDir/flare/mods/minicore_alpha
addResourcesToBinaries $sourceDir/flare.rdef $appsDir/Flare
addAppDeskbarSymlink $appsDir/Flare
}