From: Thomas Frohwein Subject: Re: MAINTAINER UPDATE: emulators/melonds to 1.0, but coming upon a issue at make package step? To: izzy Meyer Cc: ports@openbsd.org, bentley@openbsd.org Date: Sat, 30 Aug 2025 11:19:15 -0400 On Tue, 12 Aug 2025 13:42:08 -0500 izzy Meyer wrote: > On Tue, 5 Aug 2025 20:04:13 -0500 > izzy Meyer 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 + #include + #include ++#include + #include + #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 - #include --#ifdef __APPLE__ - #include --#else --#include --#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 - #include - #include --#include -+#include - #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) -