git: b772f1f7b081 - main - emulators/ares: Update 139.20240823 → 139.20240825 and unbundle librashader dependency

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Tue, 27 Aug 2024 17:38:42 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b772f1f7b08121988afc02f0dc70a4ce07e72e7d

commit b772f1f7b08121988afc02f0dc70a4ce07e72e7d
Author:     Stefan Schlosser <bsdcode@disroot.org>
AuthorDate: 2024-08-27 17:35:50 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-08-27 17:38:22 +0000

    emulators/ares: Update 139.20240823 → 139.20240825 and unbundle librashader dependency
    
    Commit changes:
    https://github.com/ares-emulator/ares/compare/3cd82c8..efb7f61
    
    PR:     281080
---
 emulators/ares/Makefile                             | 21 ++++++++++++++-------
 emulators/ares/distinfo                             |  6 +++---
 emulators/ares/files/patch-hiro_GNUmakefile         | 11 -----------
 .../ares/{files/pkg-message.in => pkg-message}      | 12 ------------
 4 files changed, 17 insertions(+), 33 deletions(-)

diff --git a/emulators/ares/Makefile b/emulators/ares/Makefile
index 869f4ec3bd15..0f3c9edd7c7a 100644
--- a/emulators/ares/Makefile
+++ b/emulators/ares/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	ares
-DISTVERSION=	139.20240823
+DISTVERSION=	139.20240825
 CATEGORIES=	emulators
 
 MAINTAINER=	bsdcode@disroot.org
@@ -13,7 +13,7 @@ USES=		compiler:c++17-lang gmake gnome localbase:ldflags pkgconfig \
 		xorg
 USE_GITHUB=	yes
 GH_ACCOUNT=	ares-emulator
-GH_TAGNAME=	3cd82c8
+GH_TAGNAME=	efb7f61
 USE_GNOME=	gtksourceview3
 USE_XORG=	x11 xext xrandr
 
@@ -29,9 +29,6 @@ MAKE_ARGS=	compiler=${CC} \
 		symbols=false \
 		threaded=true
 
-SUB_FILES=	pkg-message
-SUB_LIST=	LIBRASHADER=${_LIBRASHADER}
-
 OPTIONS_DEFINE=		DEBUG DOCS HOTKEYS NVIDIA OPENMP SHADER
 OPTIONS_DEFAULT=	A26 ALSA AO CV FC GB GBA GLX MD MS MSX MYVISION N64 NG \
 			NGP OPENAL OPENMP OSS PCE PERFORMANCE PS1 SDLAUDIO \
@@ -157,9 +154,12 @@ SFC_MAKE_ARGS=		cores+=sfc
 
 SG_MAKE_ARGS=		cores+=sg
 
-SHADER_RUN_DEPENDS=	${LOCALBASE}/${_SHADERS}/bilinear.slangp:games/libretro-shaders-slang
+SHADER_BUILD_DEPENDS=	${LOCALBASE}/include/librashader/librashader.h:devel/librashader
+SHADER_RUN_DEPENDS=	${LOCALBASE}/${_SHADERS}/bilinear.slangp:games/libretro-shaders-slang \
+			${LOCALBASE}/lib/librashader.so:devel/librashader
 SHADER_MAKE_ARGS=	librashader=true
 SHADER_MAKE_ARGS_OFF=	librashader=false
+SHADER_CFLAGS=		-DLIBRA_RUNTIME_OPENGL
 SHADER_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-desktop-ui_desktop-ui.cpp
 
 SPEC_MAKE_ARGS=		cores+=spec
@@ -176,7 +176,6 @@ XLIB_MAKE_ARGS=		ruby+=input.xlib
 XVIDEO_USE=		XORG=xv
 XVIDEO_MAKE_ARGS=	ruby+=video.xvideo
 
-_LIBRASHADER=		0.3.3
 _SHADERS=		share/libretro/shaders/shaders_slang
 
 .include <bsd.port.options.mk>
@@ -185,7 +184,15 @@ _SHADERS=		share/libretro/shaders/shaders_slang
 LLD_UNSAFE=	yes
 .endif
 
+post-patch:
+	${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|g' \
+		${WRKSRC}/hiro/GNUmakefile
+
 post-patch-SHADER-on:
+	${REINPLACE_CMD} 's|-I../thirdparty/librashader/include||g' \
+		${WRKSRC}/desktop-ui/GNUmakefile
+	${REINPLACE_CMD} 's|"librashader_ld.h"|<librashader/librashader_ld.h>|g' \
+		${WRKSRC}/ruby/video/opengl/opengl.hpp
 	${REINPLACE_CMD} 's|@@SHADERS@@|${LOCALBASE}/${_SHADERS}/|g' \
 		${WRKSRC}/desktop-ui/desktop-ui.cpp
 
diff --git a/emulators/ares/distinfo b/emulators/ares/distinfo
index 74c15f75fd96..3ad7898531d2 100644
--- a/emulators/ares/distinfo
+++ b/emulators/ares/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724488423
-SHA256 (ares-emulator-ares-139.20240823-3cd82c8_GH0.tar.gz) = ac559920cb8d54e94b37fcdae3d65343c62bd9d6fb658e97dfbb6ec5304498ff
-SIZE (ares-emulator-ares-139.20240823-3cd82c8_GH0.tar.gz) = 50955635
+TIMESTAMP = 1724663853
+SHA256 (ares-emulator-ares-139.20240825-efb7f61_GH0.tar.gz) = 8d4a410b9141399ec0d592edc34ca8dd35d582a87cae3f4ec5fdacc8a1c3c64e
+SIZE (ares-emulator-ares-139.20240825-efb7f61_GH0.tar.gz) = 50956365
diff --git a/emulators/ares/files/patch-hiro_GNUmakefile b/emulators/ares/files/patch-hiro_GNUmakefile
deleted file mode 100644
index c3f6b4fe5a2d..000000000000
--- a/emulators/ares/files/patch-hiro_GNUmakefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- hiro/GNUmakefile.orig	2024-08-14 11:19:20 UTC
-+++ hiro/GNUmakefile
-@@ -62,7 +62,7 @@ ifneq ($(filter $(platform),linux bsd),)
-   else ifeq ($(hiro),gtk3-se)
-     flags       += -DHiro_SourceEdit
-     hiro.flags   = $(flags.cpp) -DHIRO_GTK=3 $(shell $(pkg_config) --cflags gtk+-3.0 gtksourceview-3.0) -Wno-deprecated-declarations
--    hiro.options = -L/usr/local/lib -lX11 $(shell $(pkg_config) --libs gtk+-3.0 gtksourceview-3.0)
-+    hiro.options = -lX11 $(shell $(pkg_config) --libs gtk+-3.0 gtksourceview-3.0)
-   else ifeq ($(hiro),qt4)
-     moc = /usr/local/lib/qt4/bin/moc
-     hiro.flags   = $(flags.cpp) -DHIRO_QT=4 $(shell $(pkg_config) --cflags QtCore QtGui)
diff --git a/emulators/ares/files/pkg-message.in b/emulators/ares/pkg-message
similarity index 67%
rename from emulators/ares/files/pkg-message.in
rename to emulators/ares/pkg-message
index 70eef70b8788..839b14b86e30 100644
--- a/emulators/ares/files/pkg-message.in
+++ b/emulators/ares/pkg-message
@@ -23,18 +23,6 @@ locks all hotkey execution in the unpaused state of the emulator. This can be a
 convenience for gamepad-only users who want to assign hotkey actions to gamepad
 buttons but who don't have enough free unassigned buttons left on the gamepad.
 
-ares uses librashader for its shader support. This library is not available in
-the FreeBSD ports tree yet, but it is being worked on, see
-https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280470. In the meantime users
-have to compile the library themselves if they want to actually use shaders:
-
-    $ su root -c 'pkg install rust-nightly'
-    $ fetch https://github.com/SnowflakePowered/librashader/archive/refs/tags/librashader-v%%LIBRASHADER%%.tar.gz
-    $ tar -xf librashader-v%%LIBRASHADER%%.tar.gz
-    $ cd librashader-librashader-v%%LIBRASHADER%%
-    $ cargo run -p librashader-build-script -- --profile release
-    $ su root -c 'cp target/release/librashader.so %%LOCALBASE%%/lib'
-
 The port uses the shaders from games/libretro-shaders-slang by default. Users
 can curate and utilize their own provided collection of shaders by putting them
 into the user data directory