Hey ports@, Freshly out of the oven, here is an update for snes9x to its latest version.
Upstream removed libdl detection, so the patch was updated accordingly. It now also includes a copy of imgui. I shamelessly stole^W^Wcopied a patch over from games/fs2open to remove a version in dlopen (<3 thfr@). A quick playtest shows that both the software and OpenGL backends work. Vulkan works for a bit and then it dies, at least with Super Mario World 2: Yoshi's Island (which is known for being a demanding game), but I also get that with the current version so I don't consider it a regression. Haven't got time yet to really investigate it, and the backtrace I get is weird, so clues are welcome: #0 thrkill () at /tmp/-:2 #1 0x5c8f6f9e08228512 in ?? () #2 0x0000082377978e7b in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51 #3 0x00000823779deb3f in _libc___assert2 (file=<optimized out>, line=<optimized out>, func=<optimized out>, failedexpr=<optimized out>) at /usr/src/lib/libc/gen/assert.c:52 #4 0x0000082335b80d65 in poll_for_event () from /usr/X11R6/lib/libX11.so.18.0 #5 0x0000082335b7f750 in poll_for_response () from /usr/X11R6/lib/libX11.so.18.0 #6 0x0000082335b7f325 in _XEventsQueued () from /usr/X11R6/lib/libX11.so.18.0 #7 0x0000082335b6f117 in XPending () from /usr/X11R6/lib/libX11.so.18.0 #8 0x00000822dc77706c in gdk_event_source_prepare () from /usr/local/lib/libgdk-3.so.2201.1 #9 0x000008231aa92662 in g_main_context_prepare_unlocked () from /usr/local/lib/libglib-2.0.so.4201.12 #10 0x000008231aa9331b in g_main_context_iterate_unlocked () from /usr/local/lib/libglib-2.0.so.4201.12 #11 0x000008231aa9353b in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.4201.12 #12 0x00000822f95661dd in g_application_run () from /usr/local/lib/libgio-2.0.so.4200.19 #13 0x0000082345a8cad0 in Gtk::Application::run(Gtk::Window&) () from /usr/local/lib/libgtkmm-3.0.so.4.5 #14 0x00000820aeee3632 in main (argc=<optimized out>, argv=0x76544cac1968) at /usr/ports/pobj/snes9x-1.63/snes9x-1.63/gtk/src/gtk_s9x.cpp:157 The release notes we care for are: General: - Added a shortcut to change the backdrop color for sprite extraction. - Fixed QuickSave 0-9 slot shortcuts not working. - Allow "Address:byte" form for cheat inputs. - Fixed ZIP files not being closed after patch search. - Various memmap fixes to allow unofficial mappings. - Added usage of ImGui to draw things on top of the screen instead of inside. Gtk: - Fixed config file location to never put files directly in $HOME and obey $XDG_CONFIG_HOME. - Updated translations from JakeSmarter and StanleyKid-22. Lucas diff 657ca76e9757dc1f26a2bf3d79729c76b261a52e a4dfb8dfb45b72d3efd20f5360e7e203496d8a73 commit - 657ca76e9757dc1f26a2bf3d79729c76b261a52e commit + a4dfb8dfb45b72d3efd20f5360e7e203496d8a73 blob - ea5c54265a75b9b76577e5b9187b619b2d541fa5 blob + 8deaf932393ae14037dd58cd5102cc6717529fa6 --- emulators/snes9x/Makefile +++ emulators/snes9x/Makefile @@ -4,8 +4,7 @@ BROKEN-hppa = ICE/failure on filter/hq2x.cpp GH_ACCOUNT = snes9xgit GH_PROJECT = snes9x -GH_TAGNAME = 1.62.3 -REVISION = 1 +GH_TAGNAME = 1.63 CATEGORIES = emulators games blob - aa512deed30667594991d6675dcc00a8c9ced997 blob + d049b0c080968945d8adc540fc7e3e0111878b92 --- emulators/snes9x/distinfo +++ emulators/snes9x/distinfo @@ -1,2 +1,2 @@ -SHA256 (snes9x-1.62.3.tar.gz) = aRLGkpCuhU6iKxsskX2IWxxKGpWsvnPNQkPMsgcWAP4= -SIZE (snes9x-1.62.3.tar.gz) = 3423799 +SHA256 (snes9x-1.63.tar.gz) = hFYM44pzSsgplkWIPY4MBCO32iQwveX4gna7ob5tUzA= +SIZE (snes9x-1.63.tar.gz) = 5134657 blob - 5902804bcdddec9dfea03c618c04ca7172193679 blob + ae4e6b02122be9a1adf57085601f165eb89e61a4 --- emulators/snes9x/patches/patch-gtk_CMakeLists_txt +++ emulators/snes9x/patches/patch-gtk_CMakeLists_txt @@ -1,4 +1,3 @@ -No -ldl on OpenBSD. Use system glslang and SPIRV-Cross. Don't reach for Wayland headers. libHLSL is gone since glslang 14 @@ -6,16 +5,8 @@ libHLSL is gone since glslang 14 Index: gtk/CMakeLists.txt --- gtk/CMakeLists.txt.orig +++ gtk/CMakeLists.txt -@@ -63,7 +63,6 @@ pkg_check_modules(XRANDR REQUIRED xrandr) +@@ -85,16 +85,10 @@ list(APPEND INCLUDES ../external/glad/include) - find_library(X11 X11 REQUIRED) - find_library(XEXT Xext REQUIRED) --find_library(DL dl REQUIRED) - list(APPEND ARGS ${SDL2_CFLAGS} ${GTK_CFLAGS} ${XRANDR_CFLAGS}) - list(APPEND LIBS ${X11} ${XEXT} ${DL} ${SDL2_LIBRARIES} ${GTK_LIBRARIES} ${XRANDR_LIBRARIES}) - -@@ -78,16 +77,10 @@ list(APPEND SOURCES src/gtk_display_driver_opengl.cpp - if(USE_SLANG) list(APPEND SOURCES ../shaders/slang.cpp) - list(APPEND INCLUDES ../external/glslang) @@ -31,7 +22,7 @@ Index: gtk/CMakeLists.txt SPIRV glslang-default-resource-limits) list(APPEND LIBS spirv-cross-core -@@ -95,10 +88,8 @@ if(USE_SLANG) +@@ -102,10 +96,8 @@ if(USE_SLANG) spirv-cross-reflect spirv-cross-cpp) list(APPEND DEFINES "USE_SLANG") @@ -40,5 +31,5 @@ Index: gtk/CMakeLists.txt list(APPEND DEFINES "VK_USE_PLATFORM_XLIB_KHR" - "VK_USE_PLATFORM_WAYLAND_KHR" "VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=1" - "VMA_DYNAMIC_VULKAN_FUNCTIONS=1" - "VMA_STATIC_VULKAN_FUNCTIONS=0") + "VULKAN_HPP_NO_NODISCARD_WARNINGS=1" + "VULKAN_HPP_NO_EXCEPTIONS=1" blob - /dev/null blob + 1193bd21fa36c64f70314c229c07470865a19493 (mode 644) --- /dev/null +++ emulators/snes9x/patches/patch-external_imgui_imgui_impl_opengl3_loader_h @@ -0,0 +1,14 @@ +dlopen correctly - leave out Linux version suffix + +Index: external/imgui/imgui_impl_opengl3_loader.h +--- external/imgui/imgui_impl_opengl3_loader.h.orig ++++ external/imgui/imgui_impl_opengl3_loader.h +@@ -662,7 +662,7 @@ static GL3WglProc (*glx_get_proc_address)(const GLubyt + + static int open_libgl(void) + { +- libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_LOCAL); ++ libgl = dlopen("libGL.so", RTLD_LAZY | RTLD_LOCAL); + if (!libgl) + return GL3W_ERROR_LIBRARY_OPEN; + *(void **)(&glx_get_proc_address) = dlsym(libgl, "glXGetProcAddressARB"); blob - 5b50d138131ae300012210c8ec47aad0890cc706 blob + c5a9fd13f680268b3ca5bf05158cf713871b28cf --- emulators/snes9x/pkg/PLIST +++ emulators/snes9x/pkg/PLIST @@ -16,11 +16,13 @@ share/icons/hicolor/256x256/apps/snes9x.png share/icons/hicolor/32x32/apps/snes9x.png share/icons/hicolor/64x64/apps/snes9x.png share/icons/hicolor/scalable/apps/snes9x.svg +share/locale/de/LC_MESSAGES/snes9x-gtk.mo share/locale/es/LC_MESSAGES/snes9x-gtk.mo share/locale/fr_FR/ share/locale/fr_FR/LC_MESSAGES/ share/locale/fr_FR/LC_MESSAGES/snes9x-gtk.mo share/locale/ja/LC_MESSAGES/snes9x-gtk.mo +share/locale/pl/LC_MESSAGES/snes9x-gtk.mo share/locale/pt_BR/LC_MESSAGES/snes9x-gtk.mo share/locale/ru/LC_MESSAGES/snes9x-gtk.mo share/locale/sr@latin/LC_MESSAGES/snes9x-gtk.mo