void-packages/srcpkgs/retroarch/template

97 lines
3.5 KiB
Bash

# Template file for 'retroarch'
pkgname=retroarch
version=1.9.0
revision=1
wrksrc="RetroArch-$version"
build_style=configure
configure_args="--prefix=/usr --sysconfdir=/etc --enable-networking
--enable-udev --disable-builtinflac --disable-builtinglslang
--disable-builtinmbedtls --disable-builtinminiupnpc --disable-builtinzlib
$(vopt_enable ffmpeg) $(vopt_enable flac) $(vopt_enable glslang) $(vopt_enable jack)
$(vopt_enable miniupnpc) $(vopt_enable pulseaudio pulse) $(vopt_enable qt5 qt)
$(vopt_enable sdl2) $(vopt_enable vulkan) $(vopt_enable wayland) $(vopt_enable x11)"
conf_files="/etc/retroarch.cfg"
hostmakedepends="pkg-config"
makedepends="alsa-lib-devel eudev-libudev-devel freetype-devel libxkbcommon-devel
mbedtls-devel zlib-devel $(vopt_if ffmpeg ffmpeg-devel) $(vopt_if flac libflac-devel)
$(vopt_if glslang 'glslang-devel SPIRV-Tools-devel') $(vopt_if jack jack-devel)
$(vopt_if miniupnpc miniupnpc-devel) $(vopt_if pulseaudio pulseaudio-devel)
$(vopt_if qt5 qt5-devel) $(vopt_if sdl2 SDL2-devel) $(vopt_if vulkan vulkan-loader)
$(vopt_if x11 'libXext-devel libXinerama-devel libXv-devel libXxf86vm-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="https://www.retroarch.com/"
distfiles="https://github.com/libretro/RetroArch/archive/v$version.tar.gz"
checksum=39d7ad9298c9487fb4848cd6a257c23a95ee85f83c75302f97bcc4797f154b6a
build_options="ffmpeg flac gles2 glslang jack miniupnpc opengl pulseaudio qt5 sdl2 vulkan wayland x11"
build_options_default="ffmpeg flac gles2 glslang miniupnpc opengl pulseaudio sdl2 vulkan wayland x11"
desc_option_glslang="Enable support for GLSL shaders"
desc_option_miniupnpc="Enable support for NAT traversal"
if [ "$build_option_gles2" ]; then
configure_args+=" --enable-opengles --enable-opengles3"
else
configure_args+=" --disable-opengles --disable-opengles3"
fi
if [ "$build_option_opengl" ]; then
if [ -z "$build_option_glslang" ]; then
msg_error "$pkgname: 'opengl' option requires 'glslang'.\n"
fi
configure_args+=" --enable-opengl_core"
else
configure_args+=" --disable-opengl_core"
fi
if [ "$build_option_gles2" -o "$build_option_opengl" ]; then
configure_args+=" --enable-egl --enable-kms"
makedepends+=" MesaLib-devel"
fi
if [ "$build_option_qt5" ]; then
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" qt5-host-tools"
fi
fi
if [ "$build_option_vulkan" ]; then
if [ -z "$build_option_glslang" ]; then
msg_error "$pkgname: 'vulkan' option requires 'glslang'.\n"
fi
fi
if [ "$build_option_wayland" ]; then
if [ -z "$build_option_gles2" -a -z "$build_option_opengl" ]; then
msg_error "$pkgname: 'wayland' option requires 'gles2' or 'opengl'.\n"
fi
makedepends+=" wayland-devel wayland-protocols"
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" wayland-devel wayland-protocols"
fi
fi
if [ "$build_option_x11" ]; then
if [ -z "$build_option_gles2" -a -z "$build_option_opengl" ]; then
msg_error "$pkgname: 'x11' option requires 'gles2' or 'opengl'.\n"
fi
fi
do_configure() {
if [ "$CROSS_BUILD" ]; then
configure_args+=" --host=${XBPS_CROSS_TRIPLET}"
fi
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) configure_args+=" --enable-sse --enable-threads";;
ppc*) configure_args+=" --enable-threads";;
aarch64*) configure_args+=" --disable-neon --enable-threads";;
armv7*) configure_args+=" --disable-neon --enable-threads";;
arm*) configure_args+=" --disable-neon";;
esac
./configure ${configure_args}
}