Index | Thread | Search

From:
Thomas Frohwein <tfrohwein@fastmail.com>
Subject:
Re: MAINTAINER UPDATE: emulators/melonds to 1.0, but coming upon a issue at make package step?
To:
izzy Meyer <izder456@disroot.org>
Cc:
ports@openbsd.org, bentley@openbsd.org
Date:
Sat, 30 Aug 2025 11:19:15 -0400

Download raw body.

Thread
On Tue, 12 Aug 2025 13:42:08 -0500
izzy Meyer <izder456@disroot.org> wrote:

> On Tue, 5 Aug 2025 20:04:13 -0500
> izzy Meyer <izder456@disroot.org> wrote:
> > If this diff works fine on other's systems, could it get
> > committed? I did some testing playing a dump of my mario kart DS
> > cart and things worked as expected. Nearly the same as 0.9.5
> > 
> > Changelog:
> > https://github.com/melonDS-emu/melonDS/releases/tag/1.0
> > Blog post from upstream about the 1.0 release:
> > https://melonds.kuribo64.net/comments.php?id=230
> >   
> 
> Ping! (CC bentley@, thfr@) 
> 
> (attached the diff again so its not lost)
> 

Thanks, it builds and runs with brief testing (loaded a homebrew ROM to
the title screen). I noticed it picks up wayland during configure
stage, and further digging showed that libwayland-egl.so is dlopen'd. I
therefore amended the diff to account for wayland-egl in the Makefile,
and also removed the version suffix from the dlopen(2).

Updated diff attached.
Index: Makefile
===================================================================
RCS file: /cvs/ports/emulators/melonds/Makefile,v
diff -u -p -r1.3 Makefile
--- Makefile	21 Apr 2024 18:23:27 -0000	1.3
+++ Makefile	30 Aug 2025 15:15:28 -0000
@@ -1,8 +1,7 @@
 COMMENT =	Nintendo DS emulator
 
 PKGNAME =	melonds-$V
-V =		0.9.5
-REVISION =	0
+V =		1.0
 
 DIST_TUPLE +=	github melonDS-emu melonDS $V .
 
@@ -17,21 +16,27 @@ PERMIT_PACKAGE =	Yes
 
 COMPILER =	base-clang ports-gcc
 
-WANTLIB += ${COMPILER_LIBCXX}
-WANTLIB += EGL ICE Qt5Core Qt5Gui Qt5Multimedia Qt5Network Qt5Widgets
-WANTLIB += SDL2 SM X11 Xext archive c glib-2.0 intl m slirp
+WANTLIB += ${COMPILER_LIBCXX} EGL GL ICE Qt6Core Qt6Gui Qt6Multimedia
+WANTLIB += Qt6Network Qt6OpenGL Qt6OpenGLWidgets Qt6Widgets SDL2
+WANTLIB += SM X11 Xext archive c enet glib-2.0 intl m slirp zstd
+
+# dlopen'd
+WANTLIB += wayland-egl
 
 MODULES =	devel/cmake
 LIB_DEPENDS =	archivers/libarchive \
 		devel/sdl2 \
+		net/enet \
 		net/libslirp \
-		x11/qt5/qtmultimedia
+		wayland/wayland \
+		x11/qt6/qtmultimedia
 BUILD_DEPENDS =	devel/kf6/extra-cmake-modules
 RUN_DEPENDS =	x11/gtk+4,-guic \
 		devel/desktop-file-utils
 
 
-CONFIGURE_ARGS +=	-DQt5_DIR="${LOCALBASE}/lib/qt5/cmake/Qt5" \
+CONFIGURE_ARGS +=	-DQt6_DIR="${LOCALBASE}/lib/qt6/cmake/Qt6" \
+			-DUSE_SYSTEM_LIBSLIRP=ON \
 			-DBUILD_STATIC=OFF \
 			-DENABLE_JIT=OFF \
 			-DENABLE_LTO_RELEASE=ON \
Index: distinfo
===================================================================
RCS file: /cvs/ports/emulators/melonds/distinfo,v
diff -u -p -r1.1.1.1 distinfo
--- distinfo	19 Feb 2024 08:19:16 -0000	1.1.1.1
+++ distinfo	30 Aug 2025 15:15:28 -0000
@@ -1,2 +1,2 @@
-SHA256 (melonDS-emu-melonDS-0.9.5.tar.gz) = Usa5k0C4u6jFKxGiJCWR8F6DjDTd2ewg3PGmA5QFQ0o=
-SIZE (melonDS-emu-melonDS-0.9.5.tar.gz) = 2496704
+SHA256 (melonDS-emu-melonDS-1.0.tar.gz) = N45fb0EspvhGzOaPiRn6RXuhuwEHg6uhRCvlBc8N+tQ=
+SIZE (melonDS-emu-melonDS-1.0.tar.gz) = 3595302
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/emulators/melonds/patches/patch-CMakeLists_txt,v
diff -u -p -r1.1.1.1 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt	19 Feb 2024 08:19:16 -0000	1.1.1.1
+++ patches/patch-CMakeLists_txt	30 Aug 2025 15:15:28 -0000
@@ -3,9 +3,9 @@ Don't strip debug symbols.
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -78,10 +78,6 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O
- string(REPLACE "-O2" "-O3" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
- string(REPLACE "-O2" "-O3" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
+@@ -79,10 +79,6 @@ if (ENABLE_LTO)
+     set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
+ endif()
  
 -if (NOT APPLE)
 -    set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -s")
Index: patches/patch-src_CMakeLists_txt
===================================================================
RCS file: patches/patch-src_CMakeLists_txt
diff -N patches/patch-src_CMakeLists_txt
--- patches/patch-src_CMakeLists_txt	19 Feb 2024 08:19:16 -0000	1.1.1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Index: src/CMakeLists.txt
---- src/CMakeLists.txt.orig
-+++ src/CMakeLists.txt
-@@ -129,8 +129,8 @@ endif()
- 
- if (WIN32)
-     target_link_libraries(core PRIVATE ole32 comctl32 ws2_32)
--elseif(NOT APPLE)
--    target_link_libraries(core PRIVATE rt)
-+elseif(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
-+    target_link_libraries(core PRIVATE)
- endif()
- 
- if (ENABLE_JIT_PROFILING)
Index: patches/patch-src_debug_GdbStub_cpp
===================================================================
RCS file: patches/patch-src_debug_GdbStub_cpp
diff -N patches/patch-src_debug_GdbStub_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_debug_GdbStub_cpp	30 Aug 2025 15:15:28 -0000
@@ -0,0 +1,11 @@
+Index: src/debug/GdbStub.cpp
+--- src/debug/GdbStub.cpp.orig
++++ src/debug/GdbStub.cpp
+@@ -18,6 +18,7 @@
+ #include <poll.h>
+ #include <signal.h>
+ #include <arpa/inet.h>
++#include <netinet/in.h>
+ #include <netinet/tcp.h>
+ #endif
+ 
Index: patches/patch-src_frontend_duckstation_duckstation_compat_h
===================================================================
RCS file: patches/patch-src_frontend_duckstation_duckstation_compat_h
diff -N patches/patch-src_frontend_duckstation_duckstation_compat_h
--- patches/patch-src_frontend_duckstation_duckstation_compat_h	19 Feb 2024 08:19:16 -0000	1.1.1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-Index: src/frontend/duckstation/duckstation_compat.h
---- src/frontend/duckstation/duckstation_compat.h.orig
-+++ src/frontend/duckstation/duckstation_compat.h
-@@ -12,6 +12,6 @@
- 
- #define Panic(msg) assert(false && msg)
- 
--#define UnreachableCode() __builtin_unreachable
-+#define UnreachableCode() __builtin_unreachable()
- 
--#endif
-\ No newline at end of file
-+#endif
Index: patches/patch-src_frontend_duckstation_gl_context_cpp
===================================================================
RCS file: patches/patch-src_frontend_duckstation_gl_context_cpp
diff -N patches/patch-src_frontend_duckstation_gl_context_cpp
--- patches/patch-src_frontend_duckstation_gl_context_cpp	19 Feb 2024 08:19:16 -0000	1.1.1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-https://github.com/melonDS-emu/melonDS/pull/1979
-
-Index: src/frontend/duckstation/gl/context.cpp
---- src/frontend/duckstation/gl/context.cpp.orig
-+++ src/frontend/duckstation/gl/context.cpp
-@@ -3,11 +3,7 @@
- #include "loader.h"
- #include <cstdlib>
- #include <cstring>
--#ifdef __APPLE__
- #include <stdlib.h>
--#else
--#include <malloc.h>
--#endif
- Log_SetChannel(GL::Context);
- 
- #if defined(_WIN32) && !defined(_M_ARM64)
Index: patches/patch-src_frontend_duckstation_gl_context_egl_wayland_cpp
===================================================================
RCS file: patches/patch-src_frontend_duckstation_gl_context_egl_wayland_cpp
diff -N patches/patch-src_frontend_duckstation_gl_context_egl_wayland_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_frontend_duckstation_gl_context_egl_wayland_cpp	30 Aug 2025 15:15:28 -0000
@@ -0,0 +1,12 @@
+Index: src/frontend/duckstation/gl/context_egl_wayland.cpp
+--- src/frontend/duckstation/gl/context_egl_wayland.cpp.orig
++++ src/frontend/duckstation/gl/context_egl_wayland.cpp
+@@ -4,7 +4,7 @@
+ Log_SetChannel(ContextEGLWayland);
+ 
+ namespace GL {
+-static const char* WAYLAND_EGL_MODNAME = "libwayland-egl.so.1";
++static const char* WAYLAND_EGL_MODNAME = "libwayland-egl.so";
+ 
+ ContextEGLWayland::ContextEGLWayland(const WindowInfo& wi) : ContextEGL(wi) {}
+ ContextEGLWayland::~ContextEGLWayland()
Index: patches/patch-src_frontend_qt_sdl_LAN_PCap_cpp
===================================================================
RCS file: patches/patch-src_frontend_qt_sdl_LAN_PCap_cpp
diff -N patches/patch-src_frontend_qt_sdl_LAN_PCap_cpp
--- patches/patch-src_frontend_qt_sdl_LAN_PCap_cpp	19 Feb 2024 08:19:16 -0000	1.1.1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: src/frontend/qt_sdl/LAN_PCap.cpp
---- src/frontend/qt_sdl/LAN_PCap.cpp.orig
-+++ src/frontend/qt_sdl/LAN_PCap.cpp
-@@ -22,7 +22,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <SDL2/SDL.h>
--#include <pcap/pcap.h>
-+#include <pcap.h>
- #include "../Wifi.h"
- #include "LAN_PCap.h"
- #include "Config.h"
Index: patches/patch-src_teakra_src_CMakeLists_txt
===================================================================
RCS file: patches/patch-src_teakra_src_CMakeLists_txt
diff -N patches/patch-src_teakra_src_CMakeLists_txt
--- patches/patch-src_teakra_src_CMakeLists_txt	25 Feb 2024 21:11:24 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-From upstream 21e2a876ec7392eb3d8d2c4d0f0aee5cd9a298f0.
-
-Index: src/teakra/src/CMakeLists.txt
---- src/teakra/src/CMakeLists.txt.orig
-+++ src/teakra/src/CMakeLists.txt
-@@ -32,10 +32,15 @@ add_library(teakra
-     register.h
-     shared_memory.h
-     teakra.cpp
--    test.h
--    test_generator.cpp
--    test_generator.h
- )
-+
-+if (TEAKRA_BUILD_UNIT_TESTS)
-+    target_sources(teakra PUBLIC
-+        test.h
-+        test_generator.cpp
-+        test_generator.h
-+    )
-+endif()
- 
- create_target_directory_groups(teakra)
-