SUMMARY="The reference frontend of libretro"
DESCRIPTION="RetroArch is a frontend for the libretro specification for \
emulation. Libretro supports easy creation of emulators, but people can also \
make their own frontends and plug existing emulators. It also supports OpenGL \
shaders and other cool stuff."
HOMEPAGE="https://libretro.com"
SOURCE_URI="https://github.com/libretro/RetroArch/archive/1.0.0.3-beta.tar.gz"
CHECKSUM_SHA256="bd5be24d81c214db036b756e222f5a8e5cddd3e1c1a2a98180317673c0ca0cc7"
SOURCE_DIR="RetroArch-1.0.0.3-beta"
REVISION="1"
LICENSE="GNU GPL v3"
COPYRIGHT="2010-2015 The RetroArch Team"
PATCHES="retroarch-1.0.0.3_beta.patchset"

ARCHITECTURES="?x86 ?x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
	# x86_gcc2 is fine as primary target architecture as long as we're building
	# for a different secondary architecture.
	ARCHITECTURES="$ARCHITECTURES x86_gcc2"
else
	ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	retroarch$secondaryArchSuffix = $portVersion
	app:retroarch$secondaryArchSuffix = $portVersion
	cmd:retroarch$secondaryArchSuffix = $portVersion
	cmd:retroarch_joyconfig$secondaryArchSuffix = $portVersion
	"
PROVIDES_devel="
	retroarch${secondaryArchSuffix}_devel = $portVersion
	devel:retroarch$secondaryArchSuffix = $portVersion
	"

REQUIRES="
	haiku$secondaryArchSuffix
	lib:libsdl2$secondaryArchSuffix
	lib:libGL$secondaryArchSuffix
	ffmpeg$secondaryArchSuffix
	"
REQUIRES_devel="
	haiku${secondaryArchSuffix}_devel
	retroarch$secondaryArchSuffix == $portVersion base
	ffmpeg${secondaryArchSuffix}_devel
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libsdl2$secondaryArchSuffix
	devel:libgl$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:make
	cmd:which
	cmd:pkg_config$secondaryArchSuffix
	cmd:gcc$secondaryArchSuffix
	"

BUILD()
{
	./configure
	make $jobArgs
}

INSTALL()
{
	mkdir -p $appsDir/RetroArch
	mkdir -p $binDir
	mkdir -p $includeDir

	cp retroarch $appsDir/RetroArch
	cp tools/retroarch-joyconfig $appsDir/RetroArch

	symlinkRelative -s $appsDir/RetroArch/* $binDir
	addAppDeskbarSymlink $appsDir/RetroArch/retroarch RetroArch
	
	cp libretro.h $includeDir
	packageEntries devel \
		$developDir
}
