Files
haikuports/games-emulation/retroarch/retroarch-1.7.3.recipe
2018-05-31 20:50:46 +00:00

95 lines
3.0 KiB
Bash

SUMMARY="The reference frontend of libretro"
DESCRIPTION="RetroArch is a frontend for emulators, game engines and media \
players. It enables you to run classic games on a wide range of computers and \
consoles through its slick graphical interface. It has advanced features like \
shaders, netplay, rewinding, next-frame response times, and more!"
HOMEPAGE="https://libretro.com/"
COPYRIGHT="2010-2018 The RetroArch Team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/libretro/RetroArch/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="a60c2244609bb87cdb56dd8e1020c3be757569b5246141328804ebc5574327ea"
SOURCE_FILENAME="retroarch-$portVersion.tar.gz"
SOURCE_DIR="RetroArch-$portVersion"
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
GLOBAL_WRITABLE_FILES="
$relativeSettingsDir/retroarch.cfg auto-merge
"
USER_SETTINGS_FILES="
$relativeSettingsDir/retroarch/retroarch.cfg template \
$sysconfDir/retroarch.cfg
"
PROVIDES="
retroarch$secondaryArchSuffix = $portVersion
app:retroarch$secondaryArchSuffix = $portVersion
cmd:retroarch$secondaryArchSuffix = $portVersion
cmd:retroarch_cg2glsl$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libsdl2_2.0$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavformat$secondaryArchSuffix
lib:libavdevice$secondaryArchSuffix
lib:libswresample$secondaryArchSuffix
lib:libavresample$secondaryArchSuffix
lib:libavutil$secondaryArchSuffix
lib:libswscale$secondaryArchSuffix
retroarch_assets
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libsdl2$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:which
"
PATCH()
{
libretroDir="`finddir B_SYSTEM_DIRECTORY`/$relativeAddOnsDir/libretro"
assetsDir="`finddir B_SYSTEM_DATA_DIRECTORY`/retroarch/assets"
cacheDir="`finddir B_SYSTEM_CACHE_DIRECTORY`/retroarch"
contentDir="`finddir B_SYSTEM_VAR_DIRECTORY`/retroarch"
coreAssetsDir="`finddir B_SYSTEM_VAR_DIRECTORY`/retroarch/assets"
sed -i \
-e "s|^# \(libretro_directory =\)|\1 \"$libretroDir/\"|;" \
-e "s|^# \(libretro_info_path =\)|\1 \"$libretroDir/\"|;" \
-e "s|^# \(assets_directory =\)|\1 \"$assetsDir/\"|;" \
-e "s|^# \(cache_directory =\)|\1 \"$cacheDir/\"|;" \
-e "s|^# \(content_directory =\)|\1 \"$contentDir/\"|;" \
-e "s|^# \(core_assets_directory =\)|\1 \"$coreAssetsDir/\"|;" \
retroarch.cfg
}
BUILD()
{
./configure --prefix="$prefix" --global-config-dir="$sysconfDir" \
--bindir="$appsDir" --datarootdir="$dataRootDir" \
--docdir="$docDir" --mandir="$manDir" \
--with-assets_dir="$dataDir"
make $jobArgs
}
INSTALL()
{
make install
addAppDeskbarSymlink "$appsDir"/retroarch RetroArch
install -m 0755 -d "$dataDir"/retroarch
install -m 0644 -T retroarch.cfg "$settingsDir"/retroarch.cfg
install -m 0644 -T retroarch.cfg "$dataDir"/retroarch/retroarch.cfg.default
}