# Template file for 'retroarch'
pkgname=retroarch
version=1.7.5
revision=1
wrksrc="RetroArch-$version"
build_style=configure
configure_args="--prefix=/usr --global-config-dir=/etc --enable-udev
 --enable-networking
 $(vopt_enable ffmpeg) $(vopt_enable jack) $(vopt_enable pulseaudio pulse)
 $(vopt_enable sdl2) $(vopt_enable x11) $(vopt_enable vulkan)"
conf_files="/etc/retroarch.cfg"
hostmakedepends="pkg-config python unzip"
makedepends="zlib-devel libxml2-devel freetype-devel libxkbcommon-devel
 alsa-lib-devel eudev-libudev-devel $(vopt_if opengl MesaLib-devel)
 $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if jack jack-devel)
 $(vopt_if ffmpeg ffmpeg-devel) $(vopt_if sdl2 SDL2-devel)
 $(vopt_if x11 'libXext-devel libXinerama-devel libXv-devel libXxf86vm-devel')
 $(vopt_if vulkan 'vulkan-loader')"
depends="$(vopt_if vulkan 'vulkan-loader')"
short_desc="Official reference frontend for the libretro API"
maintainer="Juan RP <xtraeme@voidlinux.org>"
license="GPL-3.0-or-later"
homepage="http://www.libretro.com/"
distfiles="https://github.com/libretro/RetroArch/archive/v$version.tar.gz"
checksum=89dae3646e4979b8685cae987eaa09816ac94bfb10d2636a2e7a8eede5fcbfa3
build_options="ffmpeg opengl jack pulseaudio sdl2 x11 vulkan"

build_options_default="ffmpeg"

case "$XBPS_TARGET_MACHINE" in
	i686*|x86_64*|ppc64*) build_options_default+=" opengl pulseaudio sdl2 x11 vulkan";;
	armv[67]*) makedepends+=" rpi-userland-devel"
		LDFLAGS="-L${XBPS_CROSS_BASE}/opt/vc/lib -lbcm_host"
		;;
esac

do_configure() {
	if [ "$CROSS_BUILD" ]; then
		mkdir -p /opt/vc/lib
		configure_args+=" --host=${XBPS_CROSS_TRIPLET}"
	fi

	case "$XBPS_TARGET_MACHINE" in
		i686*|x86_64*) configure_args+=" --enable-sse --enable-threads";;
		ppc64*) configure_args+=" --enable-threads";;
		armv6*)
			CFLAGS+=" -I${XBPS_CROSS_BASE}/opt/vc/include"
			LDFLAGS+=" -L${XBPS_CROSS_BASE}/opt/vc/lib -Wl,-R /opt/vc/lib";;
		armv7*) configure_args+=" --enable-neon --enable-threads"
			CFLAGS+=" -I${XBPS_CROSS_BASE}/opt/vc/include"
			LDFLAGS+=" -L${XBPS_CROSS_BASE}/opt/vc/lib -Wl,-R /opt/vc/lib";;
	esac
	./configure ${configure_args}
}
