From 6bc374cbc9b08de73a6d66959ed120eab2c6ee8b Mon Sep 17 00:00:00 2001 From: amak Date: Sun, 1 Aug 2021 17:00:00 +1000 Subject: [PATCH] retroarch: disable gles2 by default, add libusb and xdg-utils deps When both gles2 and opengl options are enabled, RetroArch will only build with OpenGL ES support. This prevents OpenGL only cores from working. Disable gles2 by default and use the glcore driver which provides OpenGL 3.2+ and OpenGL ES 3+ support. Fixes: #32246 libusb support is automatic and is currently pulled in when sdl2 is enabled. Add it to makedepends to ensure it's always enabled. RetroArch will call xdg-screensaver when it's built with X11 support. Add xdg-utils to depends when the x11 option is enabled. --- srcpkgs/retroarch/template | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/srcpkgs/retroarch/template b/srcpkgs/retroarch/template index c708e079b674..700c74249316 100644 --- a/srcpkgs/retroarch/template +++ b/srcpkgs/retroarch/template @@ -1,7 +1,7 @@ # Template file for 'retroarch' pkgname=retroarch version=1.9.7 -revision=1 +revision=2 wrksrc="RetroArch-$version" build_style=configure configure_args="--prefix=/usr --sysconfdir=/etc --enable-networking @@ -12,13 +12,13 @@ configure_args="--prefix=/usr --sysconfdir=/etc --enable-networking $(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 +makedepends="alsa-lib-devel eudev-libudev-devel freetype-devel libusb-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')" +depends="$(vopt_if vulkan vulkan-loader) $(vopt_if x11 xdg-utils)" short_desc="Official reference frontend for the libretro API" maintainer="Orphaned " license="GPL-3.0-or-later" @@ -27,29 +27,32 @@ changelog="https://raw.githubusercontent.com/libretro/RetroArch/master/CHANGES.m distfiles="https://github.com/libretro/RetroArch/archive/v$version.tar.gz" checksum=a4a1791dbff796dccfb377f9a61bd4b1bea4f754ab6611f51fa1d0466babbc9e -build_options="ffmpeg flac gles2 glslang jack miniupnpc neon opengl pulseaudio qt5 sdl2 vulkan wayland x11" -build_options_default="ffmpeg flac gles2 glslang miniupnpc opengl pulseaudio sdl2 vulkan wayland x11" +build_options="ffmpeg flac glcore gles2 glslang jack miniupnpc neon pulseaudio qt5 sdl2 vulkan wayland x11" +build_options_default="ffmpeg flac glcore glslang miniupnpc pulseaudio sdl2 vulkan wayland x11" +desc_option_glcore="Enable support for OpenGL 3.2 core+ and OpenGL ES 3+" desc_option_glslang="Enable support for GLSL shaders" desc_option_miniupnpc="Enable support for NAT traversal" desc_option_neon="Enable support for ARM Neon SIMD extension" +vopt_conflict glcore gles2 # gles2 disables glcore support + 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 [ "$build_option_glcore" ]; then if [ -z "$build_option_glslang" ]; then - msg_error "$pkgname: 'opengl' option requires 'glslang'.\n" + msg_error "$pkgname: 'glcore' 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 +if [ "$build_option_gles2" -o "$build_option_glcore" ]; then configure_args+=" --enable-egl --enable-kms" makedepends+=" MesaLib-devel" fi @@ -67,8 +70,8 @@ if [ "$build_option_vulkan" ]; then 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" + if [ -z "$build_option_gles2" -a -z "$build_option_glcore" ]; then + msg_error "$pkgname: 'wayland' option requires 'gles2' or 'glcore'.\n" fi makedepends+=" wayland-devel wayland-protocols" if [ "$CROSS_BUILD" ]; then @@ -77,8 +80,8 @@ if [ "$build_option_wayland" ]; then 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" + if [ -z "$build_option_gles2" -a -z "$build_option_glcore" ]; then + msg_error "$pkgname: 'x11' option requires 'gles2' or 'glcore'.\n" fi fi