Github messages for voidlinux
 help / color / mirror / Atom feed
From: amak79 <amak79@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] retroarch: update to 1.9.0
Date: Sun, 06 Sep 2020 07:05:54 +0200	[thread overview]
Message-ID: <20200906050554.n3ayPIIHUo6BunHUyVQ3Ulfq2FHh7ZtwfquwS60fOJw@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-24190@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 787 bytes --]

There is an updated pull request by amak79 against master on the void-packages repository

https://github.com/amak79/void-packages retroarch
https://github.com/void-linux/void-packages/pull/24190

retroarch: update to 1.9.0
- Use system flac, glslang, mbedtls, miniupnpc and zlib.
- Add `libHLSL.so` to `common/shlibs`. Needed when building with system glslang.
- Add patch for missing include on musl libc.
- Add patch for conflicting types build error.
- Add `flac`, `gles2`, `glslang`, `miniupnpc`, and `wayland` build options.
- Use common build options for all platforms.
- Remove `libxml2-devel` dependency. It was removed by upstream: https://github.com/libretro/RetroArch/pull/8486

A patch file from https://github.com/void-linux/void-packages/pull/24190.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-retroarch-24190.patch --]
[-- Type: text/x-diff, Size: 8388 bytes --]

From 1ac4d16f14235f278fdedfd6c889f907a8c1e0b9 Mon Sep 17 00:00:00 2001
From: amak <amak.git@outlook.com>
Date: Mon, 10 Aug 2020 15:00:16 +1000
Subject: [PATCH 1/2] common/shlibs: add libHLSL.so

---
 common/shlibs | 1 +
 1 file changed, 1 insertion(+)

diff --git a/common/shlibs b/common/shlibs
index bea5b504701..4b5edec895d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3533,6 +3533,7 @@ libbelr.so.1 belr-0.1.3_1
 libbelcard.so.1 belcard-1.0.2_1
 libshaderc_shared.so.1 shaderc-2018.0_1
 libglslang.so glslang-6.2.2596_1
+libHLSL.so glslang-8.13.3743_1
 libSPIRV.so glslang-6.2.2596_1
 libmaxminddb.so.0 libmaxminddb-1.3.2_1
 libmysqlpp.so.3 mysql++-3.2.5_1

From 4f1451bcdeedcf0e8f3d3dc226d4342ce30999e1 Mon Sep 17 00:00:00 2001
From: amak <amak.git@outlook.com>
Date: Mon, 10 Aug 2020 15:01:50 +1000
Subject: [PATCH 2/2] retroarch: update to 1.9.0

---
 .../retroarch/patches/conflicting-types.patch |  16 +++
 srcpkgs/retroarch/patches/musl-time_h.patch   |  15 +++
 srcpkgs/retroarch/template                    | 105 ++++++++++++------
 3 files changed, 103 insertions(+), 33 deletions(-)
 create mode 100644 srcpkgs/retroarch/patches/conflicting-types.patch
 create mode 100644 srcpkgs/retroarch/patches/musl-time_h.patch

diff --git a/srcpkgs/retroarch/patches/conflicting-types.patch b/srcpkgs/retroarch/patches/conflicting-types.patch
new file mode 100644
index 00000000000..d089b1dc761
--- /dev/null
+++ b/srcpkgs/retroarch/patches/conflicting-types.patch
@@ -0,0 +1,16 @@
+This patch has been merged upstream and shouldn't be needed for 1.9.1:
+https://github.com/libretro/RetroArch/pull/11171
+
+diff --git a/gfx/drivers_context/vc_egl_ctx.c b/gfx/drivers_context/vc_egl_ctx.c
+index 3c52edb96a..dba0e038f4 100644
+--- gfx/drivers_context/vc_egl_ctx.c
++++ gfx/drivers_context/vc_egl_ctx.c
+@@ -81,6 +81,8 @@ typedef struct
+ /* TODO/FIXME - static globals */
+ static enum gfx_ctx_api vc_api = GFX_CTX_NONE;
+ 
++static bool gfx_ctx_vc_bind_api(void *, enum gfx_ctx_api, unsigned, unsigned);
++
+ static INLINE bool gfx_ctx_vc_egl_query_extension(vc_ctx_data_t *vc, const char *ext)
+ {
+    const char *str = (const char*)eglQueryString(vc->egl.dpy, EGL_EXTENSIONS);
diff --git a/srcpkgs/retroarch/patches/musl-time_h.patch b/srcpkgs/retroarch/patches/musl-time_h.patch
new file mode 100644
index 00000000000..bf0ae3b7c0d
--- /dev/null
+++ b/srcpkgs/retroarch/patches/musl-time_h.patch
@@ -0,0 +1,15 @@
+This patch has been merged upstream and shouldn't be needed for 1.9.1:
+https://github.com/libretro/RetroArch/pull/11170
+
+diff --git a/libretro-common/file/nbio/nbio_linux.c b/libretro-common/file/nbio/nbio_linux.c
+index 70e3a98..0c2d857 100644
+--- libretro-common/file/nbio/nbio_linux.c
++++ libretro-common/file/nbio/nbio_linux.c
+@@ -36,6 +36,7 @@
+ #include <fcntl.h>
+ #include <sys/syscall.h>
+ #include <linux/aio_abi.h>
++#include <time.h>
+ 
+ struct nbio_linux_t
+ {
diff --git a/srcpkgs/retroarch/template b/srcpkgs/retroarch/template
index 0ad83d12b94..ac9283bbb63 100644
--- a/srcpkgs/retroarch/template
+++ b/srcpkgs/retroarch/template
@@ -1,57 +1,96 @@
 # Template file for 'retroarch'
 pkgname=retroarch
-version=1.8.4
+version=1.9.0
 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)"
+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 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')"
+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="http://www.libretro.com/"
+homepage="https://www.retroarch.com/"
 distfiles="https://github.com/libretro/RetroArch/archive/v$version.tar.gz"
-checksum=027e9eb243488da1b8532116eab2a79932fcf2dcb96bcc4be9a12b329a2a9c52
-build_options="ffmpeg opengl jack pulseaudio sdl2 x11 vulkan qt5"
+checksum=39d7ad9298c9487fb4848cd6a257c23a95ee85f83c75302f97bcc4797f154b6a
 
-build_options_default="ffmpeg"
+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"
 
-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
+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
-		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";;
+		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}
 }

  parent reply	other threads:[~2020-09-06  5:05 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-10  4:23 [PR PATCH] " amak79
2020-08-10  4:27 ` ericonr
2020-08-10  4:32 ` [PR REVIEW] " ericonr
2020-08-10  5:02 ` [PR PATCH] [Updated] " amak79
2020-08-10  6:06 ` amak79
2020-08-10 13:19 ` amak79
2020-08-10 23:49 ` [PR REVIEW] " q66
2020-08-11 11:53 ` [PR PATCH] [Updated] " amak79
2020-08-11 12:20 ` amak79
2020-08-25 11:19 ` amak79
2020-08-25 13:04 ` amak79
2020-08-26  0:46 ` amak79
2020-08-26  5:43 ` amak79
2020-08-26  7:59 ` [PR REVIEW] " q66
2020-08-26  9:35 ` [PR PATCH] [Updated] " amak79
2020-08-26 10:16 ` amak79
2020-09-03 12:03 ` amak79
2020-09-04  6:55 ` amak79
2020-09-06  5:05 ` amak79 [this message]
2020-09-29  2:23 ` ericonr
2020-09-29  3:20 ` amak79
2020-09-30 19:17 ` [PR PATCH] [Closed]: " Piraty

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200906050554.n3ayPIIHUo6BunHUyVQ3Ulfq2FHh7ZtwfquwS60fOJw@z \
    --to=amak79@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).