aboutsummaryrefslogtreecommitdiff
path: root/games/RetroArch
diff options
context:
space:
mode:
authorHunter Sezen <orbea@fredslev.dk>2019-02-09 00:22:54 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2019-02-09 00:22:54 +0700
commiteb94f40eda901a0c4f77d4f71649db2d9ebfea65 (patch)
treea099ab2f77bb3ee5b01f8dca7fb23a03bae4c83e /games/RetroArch
parent769b67704cac2da051df8411cbff65efa1c2cc38 (diff)
games/RetroArch: Updated for version 1.7.6.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'games/RetroArch')
-rw-r--r--games/RetroArch/README38
-rw-r--r--games/RetroArch/README.SLACKWARE4
-rw-r--r--games/RetroArch/RetroArch.SlackBuild38
-rw-r--r--games/RetroArch/RetroArch.info6
-rw-r--r--games/RetroArch/kms.patch65
-rw-r--r--games/RetroArch/menu.patch111
6 files changed, 170 insertions, 92 deletions
diff --git a/games/RetroArch/README b/games/RetroArch/README
index e2c154b6f3f4..24f8c993a9dd 100644
--- a/games/RetroArch/README
+++ b/games/RetroArch/README
@@ -18,16 +18,23 @@ anyone to use.
RetroArch will require at least one of the libretro cores to play any
games.
+Optional dependencies:
+ ffmpeg jack-audio-connection-kit libsixel libxkbcommon mbedtls
+ miniupnpc nvidia-cg-toolkit OpenAL python3 qt5 SDL2 vulkansdk
+ wayland-egl wayland-protocols
+
+Note: Wayland support requires both wayland-egl and wayland-protocols to
+be installed. Instead of installing wayland-egl mesa can be rebuilt with
+Wayland support, using the following configure parameters.
+
+ --with-egl-platforms=x11,drm,wayland
+
To build debugging symbols for RetroArch use:
DEBUG=yes ./RetroArch.SlackBuild
If building debugging symbols asan can also be built:
DEBUG=yes ASAN=yes ./RetroArch.SlackBuild
-Optional dependencies:
- ffmpeg jack-audio-connection-kit libsixel libxkbcommon miniupnpc
- nvidia-cg-toolkit OpenAL python3 qt5 SDL2 vulkansdk wayland
-
Discord integration can be enabled with:
DISCORD=yes
@@ -37,13 +44,26 @@ Python3 support for shaders will need to be enabled with:
If pulseaudio is installed it can be disabled during the build with:
PULSE=no ./RetroArch.SlackBuild
-Alternatively pulseaudio can be disabled later in RetroArch's
-configuration.
+The Qt5 frontend can be disabled with:
+ QT=no ./RetroArch.SlackBuild
-Note: Wayland support requires mesa to be rebuilt with Wayland support,
-using the following configure parameters.
+The materialui menu driver can be disabled with:
+ GLUI=no ./RetroArch.SlackBuild
- --with-egl-platforms=x11,drm,wayland
+The ozone menu driver can be disabled with:
+ OZONE=no ./RetroArch.SlackBuild
+
+The rgui menu driver can be disabled with:
+ RGUI=no ./RetroArch.SlackBuild
+
+The xmb menu driver can be disabled with:
+ XMB=no ./RetroArch.SlackBuild
+
+All of the menu drivers can be disabled with:
+ MENU=no ./RetroArch.SlackBuild
+
+Alternatively pulseaudio can be disabled later in RetroArch's
+configuration.
Retroarch optionally supports using OpenGL ES 2 and OpenGL ES 3 instead
of OpenGL which will require video card and driver support. This can be
diff --git a/games/RetroArch/README.SLACKWARE b/games/RetroArch/README.SLACKWARE
index ecf96b2be2e8..4267849c6a65 100644
--- a/games/RetroArch/README.SLACKWARE
+++ b/games/RetroArch/README.SLACKWARE
@@ -5,7 +5,9 @@ libretro slackbuilds. The buildbot can be used with:
BUILDBOT=1 ./RetroArch.SlackBuild
-To change this after installing edit '~/.config/retroarch/retroarch'.
+To change this after installing edit:
+
+ ~/.config/retroarch/retroarch.cfg
To enable the buildbot:
diff --git a/games/RetroArch/RetroArch.SlackBuild b/games/RetroArch/RetroArch.SlackBuild
index 892174ec358b..0c4881c5301e 100644
--- a/games/RetroArch/RetroArch.SlackBuild
+++ b/games/RetroArch/RetroArch.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for RetroArch
-# Copyright 2016-2018 Hunter Sezen California, USA
+# Copyright 2016-2019 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=RetroArch
-VERSION=${VERSION:-1.7.5}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.7.6}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -69,18 +69,22 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+lib=
+
if [ "${DEBUG:=0}" != 0 ]; then
- [ "${ASAN:=}" != '' ] && ASAN=address
- DEBUG=1
+ case "${ASAN:=}" in
+ '' ) : ;;
+ thread ) ASAN=thread ;;
+ * ) ASAN=address ;;
+ esac
RELEASE=debug
SLKCFLAGS="$(printf %s "$SLKCFLAGS" | sed 's/-O2/-O0 -g/')"
+ lib="${lib} --enable-debug"
else
ASAN=
RELEASE=release
fi
-lib=
-
[ "${DISCORD:-0}" = 0 ] && lib="${lib} --disable-discord"
if [ "${GLES:-0}" != 0 ]; then
@@ -92,6 +96,7 @@ fi
pkg-config --exists flac && lib="${lib} --disable-builtinflac"
pkg-config --exists libsixel && lib="${lib} --enable-sixel"
+[ -d /usr/include/mbedtls ] && lib="${lib} --disable-builtinmbedtls"
[ -d /usr/include/miniupnpc ] && lib="${lib} --disable-builtinminiupnpc"
if [ "${PYTHON:-0}" != 0 ]; then
@@ -102,7 +107,13 @@ if [ "${PYTHON:-0}" != 0 ]; then
fi
fi
+[ "${MENU:-yes}" != yes ] && lib="${lib} --disable-menu"
[ "${PULSE:-yes}" != yes ] && lib="${lib} --disable-pulse"
+[ "${QT:-yes}" != yes ] && lib="${lib} --disable-qt"
+[ "${GLUI:-yes}" != yes ] && lib="${lib} --disable-materialui"
+[ "${OZONE:-yes}" != yes ] && lib="${lib} --disable-ozone"
+[ "${RGUI:-yes}" != yes ] && lib="${lib} --disable-rgui"
+[ "${XMB:-yes}" != yes ] && lib="${lib} --disable-xmb"
# Disable downloading cores with the online updater
# https://github.com/libretro/RetroArch/issues/3237
@@ -123,11 +134,10 @@ sed -e "s|# audio_filter_dir =|audio_filter_dir = ${filter_dir}/audio|" \
-e "$SED_CORE;$SED_INFO;$SED_MENU" \
-i retroarch.cfg
-# Fix KMS with OpenGL.
-# https://github.com/libretro/RetroArch/commit/5898f3e5d22b930a1050a59b61e98ecd07dd6977
-# https://github.com/libretro/RetroArch/issues/7119
-# https://github.com/libretro/RetroArch/pull/7708
-patch -p1 < $CWD/kms.patch
+# Fix --disable-menu (Again).
+# https://github.com/libretro/RetroArch/commit/762151758d0704394699fe3462ad0505e2cf4070
+# https://github.com/libretro/RetroArch/pull/8170
+patch -p1 < $CWD/menu.patch
# Set $lib to a portable array
eval "set -- $lib"
@@ -144,7 +154,7 @@ CXXFLAGS="$SLKCFLAGS" \
--build=$ARCH-slackware-linux \
"$@"
-make GL_DEBUG=$DEBUG VULKAN_DEBUG=$DEBUG SANITIZER=$ASAN
+make SANITIZER=$ASAN
make install DESTDIR=$PKG
for filter in audio video; do
@@ -166,7 +176,7 @@ done
mv $PKG/etc/retroarch.cfg $PKG/etc/retroarch.cfg.new
-if [ $DEBUG = 0 ]; then
+if [ "$DEBUG" = 0 ]; then
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
fi
diff --git a/games/RetroArch/RetroArch.info b/games/RetroArch/RetroArch.info
index 41b1b5508e2b..157033347aba 100644
--- a/games/RetroArch/RetroArch.info
+++ b/games/RetroArch/RetroArch.info
@@ -1,8 +1,8 @@
PRGNAM="RetroArch"
-VERSION="1.7.5"
+VERSION="1.7.6"
HOMEPAGE="https://www.libretro.com/"
-DOWNLOAD="https://github.com/libretro/RetroArch/releases/download/v1.7.5/RetroArch-1.7.5.tar.xz"
-MD5SUM="6d4247679a99a691fd280f5dfc6b1db9"
+DOWNLOAD="https://github.com/libretro/RetroArch/releases/download/v1.7.6/RetroArch-1.7.6.tar.xz"
+MD5SUM="1c241b2d3908a794137c538457d9175a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/games/RetroArch/kms.patch b/games/RetroArch/kms.patch
deleted file mode 100644
index 28ebb1e15e43..000000000000
--- a/games/RetroArch/kms.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 5898f3e5d22b930a1050a59b61e98ecd07dd6977 Mon Sep 17 00:00:00 2001
-From: orbea <orbea@fredslev.dk>
-Date: Thu, 6 Dec 2018 08:31:01 -0800
-Subject: [PATCH] Fix KMS with OpenGL.
-
-All credit for this patch goes to dtsarr.
-
-Fixes https://github.com/libretro/RetroArch/issues/7119
----
- gfx/common/egl_common.c | 41 ++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 40 insertions(+), 1 deletion(-)
-
-diff --git a/gfx/common/egl_common.c b/gfx/common/egl_common.c
-index f3c579af21..ee7bca84b6 100644
---- a/gfx/common/egl_common.c
-+++ b/gfx/common/egl_common.c
-@@ -329,8 +329,47 @@ bool egl_init_context(egl_ctx_data_t *egl,
-
- RARCH_LOG("[EGL]: EGL version: %d.%d\n", *major, *minor);
-
-- if (!eglChooseConfig(egl->dpy, attrib_ptr, &egl->config, 1, n) || *n != 1)
-+ EGLint count = 0;
-+ EGLint matched = 0;
-+ EGLConfig *configs;
-+ int config_index = -1;
-+
-+ if (!eglGetConfigs(egl->dpy, NULL, 0, &count) || count < 1)
-+ {
-+ RARCH_ERR("[EGL]: No cofigs to choose from.\n");
-+ return false;
-+ }
-+
-+ configs = malloc(count * sizeof *configs);
-+ if (!configs) return false;
-+
-+ if (!eglChooseConfig(egl->dpy, attrib_ptr, configs, count, &matched) || !matched)
-+ {
-+ RARCH_ERR("[EGL]: No EGL configs with appropriate attributes.\n");
- return false;
-+ }
-+
-+ int i;
-+ EGLint id;
-+
-+ for (i = 0; i < count; ++i)
-+ {
-+ if (!eglGetConfigAttrib(egl->dpy, configs[i], EGL_NATIVE_VISUAL_ID, &id))
-+ continue;
-+
-+ if (id == GBM_FORMAT_XRGB8888) break;
-+ }
-+
-+ if (id != GBM_FORMAT_XRGB8888)
-+ {
-+ RARCH_ERR("[EGL]: No EGL configs with format XRGB8888\n");
-+ return false;
-+ }
-+
-+ config_index = i;
-+ if (config_index != -1) egl->config = configs[config_index];
-+
-+ free(configs);
-
- egl->major = g_egl_major;
- egl->minor = g_egl_minor;
diff --git a/games/RetroArch/menu.patch b/games/RetroArch/menu.patch
new file mode 100644
index 000000000000..65a341539e2f
--- /dev/null
+++ b/games/RetroArch/menu.patch
@@ -0,0 +1,111 @@
+From 762151758d0704394699fe3462ad0505e2cf4070 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@fredslev.dk>
+Date: Mon, 4 Feb 2019 08:20:34 -0800
+Subject: [PATCH] Fix --disable-menu (Again).
+
+---
+ command.c | 1 +
+ config.def.h | 7 +++----
+ configuration.c | 3 +++
+ driver.c | 1 +
+ managers/cheat_manager.c | 1 +
+ managers/core_option_manager.h | 2 ++
+ 6 files changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/command.c b/command.c
+index fb617da1a2..4958167f00 100644
+--- a/command.c
++++ b/command.c
+@@ -91,6 +91,7 @@
+ #include "ui/ui_companion_driver.h"
+ #include "tasks/task_content.h"
+ #include "tasks/tasks_internal.h"
++#include "gfx/video_driver.h"
+ #include "list_special.h"
+
+ #include "core.h"
+diff --git a/config.def.h b/config.def.h
+index 1515ab3fa9..ce2f85c97b 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -372,8 +372,9 @@ static unsigned menu_shader_pipeline = 1;
+ static unsigned menu_shader_pipeline = 2;
+ #endif
+
+-static bool show_advanced_settings = false;
+-static unsigned rgui_color_theme = RGUI_THEME_CLASSIC_GREEN;
++static bool show_advanced_settings = false;
++static unsigned rgui_color_theme = RGUI_THEME_CLASSIC_GREEN;
++static unsigned rgui_thumbnail_downscaler = RGUI_THUMB_SCALE_POINT;
+
+ #else
+ static bool default_block_config_read = false;
+@@ -754,8 +755,6 @@ static const unsigned menu_timedate_style = 5;
+
+ static const bool xmb_vertical_thumbnails = false;
+
+-static unsigned rgui_thumbnail_downscaler = RGUI_THUMB_SCALE_POINT;
+-
+ #ifdef IOS
+ static const bool ui_companion_start_on_boot = false;
+ #else
+diff --git a/configuration.c b/configuration.c
+index ac3d2d7502..0cc7860cd2 100644
+--- a/configuration.c
++++ b/configuration.c
+@@ -34,6 +34,7 @@
+
+ #include "file_path_special.h"
+ #include "audio/audio_driver.h"
++#include "gfx/video_driver.h"
+ #include "input/input_driver.h"
+ #include "configuration.h"
+ #include "content.h"
+@@ -1661,8 +1662,10 @@ static struct config_uint_setting *populate_settings_uint(settings_t *settings,
+ SETTING_UINT("dpi_override_value", &settings->uints.menu_dpi_override_value, true, menu_dpi_override_value, false);
+ SETTING_UINT("menu_thumbnails", &settings->uints.menu_thumbnails, true, menu_thumbnails_default, false);
+ SETTING_UINT("menu_timedate_style", &settings->uints.menu_timedate_style, true, menu_timedate_style, false);
++#ifdef HAVE_RGUI
+ SETTING_UINT("rgui_menu_color_theme", &settings->uints.menu_rgui_color_theme, true, rgui_color_theme, false);
+ SETTING_UINT("rgui_thumbnail_downscaler", &settings->uints.menu_rgui_thumbnail_downscaler, true, rgui_thumbnail_downscaler, false);
++#endif
+ #ifdef HAVE_LIBNX
+ SETTING_UINT("split_joycon_p1", &settings->uints.input_split_joycon[0], true, 0, false);
+ SETTING_UINT("split_joycon_p2", &settings->uints.input_split_joycon[1], true, 0, false);
+diff --git a/driver.c b/driver.c
+index 5881d1a63f..f788e59882 100644
+--- a/driver.c
++++ b/driver.c
+@@ -32,6 +32,7 @@
+
+ #include "audio/audio_driver.h"
+ #include "camera/camera_driver.h"
++#include "gfx/video_driver.h"
+ #include "record/record_driver.h"
+ #include "location/location_driver.h"
+ #include "wifi/wifi_driver.h"
+diff --git a/managers/cheat_manager.c b/managers/cheat_manager.c
+index a3277a4be5..cfd69f3619 100644
+--- a/managers/cheat_manager.c
++++ b/managers/cheat_manager.c
+@@ -18,6 +18,7 @@
+ #include <stddef.h>
+ #include <string.h>
+ #include <errno.h>
++#include <math.h>
+
+ #include <file/config_file.h>
+ #include <file/file_path.h>
+diff --git a/managers/core_option_manager.h b/managers/core_option_manager.h
+index a7e2744d39..60dbe0fa4b 100644
+--- a/managers/core_option_manager.h
++++ b/managers/core_option_manager.h
+@@ -23,6 +23,8 @@
+ #include <retro_common_api.h>
+ #include <lists/string_list.h>
+
++#include "../gfx/video_driver.h"
++
+ RETRO_BEGIN_DECLS
+
+ struct core_option