# Template file for 'retroarch'
pkgname=retroarch
version=1.8.2
revision=1
wrksrc="RetroArch-$version"
build_style=configure
configure_args="--prefix=/usr --sysconfdir=/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')
 $(vopt_if qt5 'qt5-devel')"
depends="$(vopt_if vulkan 'vulkan-loader')"
short_desc="Official reference frontend for the libretro API"
maintainer="Orphaned <orphan@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=2c620e5a248261805be6fb3f985e516cdc8053cb9acfe8ac05c3cce96e15bc8d
build_options="ffmpeg opengl jack pulseaudio sdl2 x11 vulkan qt5"

build_options_default="ffmpeg"

case "$XBPS_TARGET_MACHINE" in
	i686*|x86_64*|ppc64*|aarch64*) 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";;
		aarch64*) configure_args+=" --disable-neon";;
		armv6*) configure_args+=" --disable-neon"
			CFLAGS+=" -I${XBPS_CROSS_BASE}/opt/vc/include"
			LDFLAGS+=" -L${XBPS_CROSS_BASE}/opt/vc/lib -Wl,-R /opt/vc/lib";;
		armv7*) configure_args+=" --disable-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}
}
