diff --git a/emulators/Makefile b/emulators/Makefile index aca5784de6a6..8794c11d40f5 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -61,6 +61,7 @@ SUBDIR += klh10 SUBDIR += lib765 SUBDIR += libdsk + SUBDIR += libretro-ppsspp SUBDIR += libspectrum SUBDIR += linux-c7 SUBDIR += linux-power9-functional-sim diff --git a/emulators/libretro-ppsspp/Makefile b/emulators/libretro-ppsspp/Makefile new file mode 100644 index 000000000000..bad89e6248f6 --- /dev/null +++ b/emulators/libretro-ppsspp/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +PORTREVISION= 0 +PKGNAMEPREFIX= libretro- + +MASTERDIR= ${.CURDIR}/../ppsspp + +OPTIONS_SLAVE= LIBRETRO +OPTIONS_EXCLUDE=${OPTIONS_DEFINE} + +.include "${MASTERDIR}/Makefile" diff --git a/emulators/ppsspp-qt5/Makefile b/emulators/ppsspp-qt5/Makefile index 0317cf0c3451..67d18108ae7c 100644 --- a/emulators/ppsspp-qt5/Makefile +++ b/emulators/ppsspp-qt5/Makefile @@ -1,12 +1,12 @@ # $FreeBSD$ -PORTREVISION= 1 +PORTREVISION= 0 PKGNAMESUFFIX= -qt5 MASTERDIR= ${.CURDIR}/../ppsspp OPTIONS_SLAVE= QT5 -# XXX https://github.com/hrydgard/ppsspp/blob/v1.6.3/Qt/QtMain.cpp#L533-L534 -OPTIONS_EXCLUDE=VULKAN +# XXX No VULKAN per https://github.com/hrydgard/ppsspp/blob/v1.10/Qt/QtMain.cpp#L711-L712 +OPTIONS_EXCLUDE=${OPTIONS_DEFINE} .include "${MASTERDIR}/Makefile" diff --git a/emulators/ppsspp/Makefile b/emulators/ppsspp/Makefile index 2c8f2fdadeef..4683af3dc2b6 100644 --- a/emulators/ppsspp/Makefile +++ b/emulators/ppsspp/Makefile @@ -2,14 +2,17 @@ PORTNAME= ppsspp DISTVERSIONPREFIX= v -DISTVERSION?= 1.9.4 -PORTREVISION?= 2 +DISTVERSION?= 1.10 +PORTREVISION?= 0 CATEGORIES= emulators # XXX Get from Debian once #697821 lands MASTER_SITES= https://bazaar.launchpad.net/~sergio-br2/${PORTNAME}/debian-sdl/download/5/${PORTNAME}.1-20140802045408-dd26dik367ztj5xg-8/:manpage DISTFILES= ${PORTNAME}.1:manpage EXTRACT_ONLY= ${DISTFILES:N*\:manpage:C/:.*//} +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= 2c7290e98b81.patch:-p1 # https://github.com/hrydgard/ppsspp/pull/13061 + MAINTAINER= jbeich@FreeBSD.org COMMENT= PSP emulator in C++ with dynarec JIT for x86, ARM, MIPS @@ -27,18 +30,17 @@ RUN_DEPENDS= xdg-open:devel/xdg-utils USE_GITHUB= yes GH_ACCOUNT= hrydgard -GH_TUPLE?= hrydgard:glslang:7.11.3214-63-gf9d08a25:glslang/ext/glslang \ - hrydgard:${PORTNAME}-lang:bfc3a51:lang/assets/lang \ +GH_TUPLE?= hrydgard:glslang:8.13.3559-76-gd0850f87:glslang/ext/glslang \ + hrydgard:${PORTNAME}-lang:d184ba2:lang/assets/lang \ KhronosGroup:SPIRV-Cross:2019-05-20-60-ga1f7c8dc:SPIRV/ext/SPIRV-Cross \ Kingcom:armips:v0.10.0-28-g7885552:armips/ext/armips CONFLICTS_INSTALL= ${PORTNAME}-* -USES= cmake compiler:c++11-lib gl localbase:ldflags pkgconfig sdl +USES= cmake compiler:c++11-lib gl localbase:ldflags pkgconfig EXCLUDE= libzip zlib EXTRACT_AFTER_ARGS=${EXCLUDE:S,^,--exclude ,} USE_GL= gl glew glu -USE_SDL= sdl2 # joystick CMAKE_ON= USE_SYSTEM_FFMPEG USE_SYSTEM_LIBZIP USE_SYSTEM_SNAPPY USE_WAYLAND_WSI CMAKE_OFF= USE_DISCORD SUB_FILES= pkg-message @@ -54,22 +56,25 @@ DESKTOP_ENTRIES="PPSSPP" \ OPTIONS_DEFINE= OLDJOY VULKAN OPTIONS_DEFAULT=VULKAN OPTIONS_SINGLE= GUI -OPTIONS_SINGLE_GUI= QT5 SDL -OPTIONS_SLAVE?= LIBRETRO SDL +OPTIONS_SINGLE_GUI= LIBRETRO QT5 SDL +OPTIONS_SLAVE?= SDL OPTIONS_EXCLUDE:= ${OPTIONS_EXCLUDE} ${OPTIONS_SINGLE_GUI} LIBRETRO_DESC= libretro core for games/retroarch LIBRETRO_CMAKE_BOOL= LIBRETRO LIBRETRO_PLIST_FILES= lib/libretro/${PORTNAME}_libretro.so -LIBRETRO_IMPLIES= SDL +LIBRETRO_VARS= CONFLICTS_INSTALL= DESKTOP_ENTRIES= PLIST= PORTDATA= PKGMESSAGE= SUB_FILES= OLDJOY_DESC= Old joystick support with fixed button mappings (deprecated) OLDJOY_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-old-joy -QT5_USES= qt:5 -QT5_USE= QT=qmake_build,buildtools_build,linguisttools_build,gui,opengl,widgets +QT5_USES= qt:5 sdl +QT5_USE= QT=qmake_build,buildtools_build,linguisttools_build,gui,multimedia,opengl,widgets +QT5_USE+= SDL=sdl2 # audio, joystick QT5_CMAKE_BOOL= USING_QT_UI QT5_VARS= EXENAME=PPSSPPQt SDL_BUILD_DEPENDS= png>=1.6:graphics/png SDL_LIB_DEPENDS= libpng.so:graphics/png +SDL_USES= sdl +SDL_USE= SDL=sdl2 SDL_VARS= EXENAME=PPSSPPSDL VULKAN_DESC= Vulkan renderer VULKAN_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader @@ -82,7 +87,7 @@ post-patch: @${REINPLACE_CMD} -e 's/"unknown"/"${DISTVERSIONFULL}"/' \ ${WRKSRC}/git-version.cmake -do-install: +do-install-QT5-on do-install-SDL-on: # cmake doesn't pack assets into the app unlike qmake (cd ${INSTALL_WRKSRC} && ${COPYTREE_SHARE} \ "${PORTDATA:N${PORTNAME}}" ${STAGEDIR}${DATADIR}) diff --git a/emulators/ppsspp/distinfo b/emulators/ppsspp/distinfo index f497b225c89a..4b7dbe0ce054 100644 --- a/emulators/ppsspp/distinfo +++ b/emulators/ppsspp/distinfo @@ -1,13 +1,15 @@ -TIMESTAMP = 1571254707 +TIMESTAMP = 1593249064 SHA256 (ppsspp.1) = 64a7cca4c3a5fc6ad5b63399edef9056b0c85ea68fed00fb7e97f4b2724e503b SIZE (ppsspp.1) = 1598 -SHA256 (hrydgard-ppsspp-v1.9.4_GH0.tar.gz) = d225096582e682921f6535aa486c737c7b9e94102d5bf5a45cc2763425846493 -SIZE (hrydgard-ppsspp-v1.9.4_GH0.tar.gz) = 17005789 -SHA256 (hrydgard-glslang-7.11.3214-63-gf9d08a25_GH0.tar.gz) = baf58cbd5a8614d2b0a446893fa201e7ccdb31e43322f55e1ad1dac7861a0893 -SIZE (hrydgard-glslang-7.11.3214-63-gf9d08a25_GH0.tar.gz) = 2947747 -SHA256 (hrydgard-ppsspp-lang-bfc3a51_GH0.tar.gz) = 1c57ade5c3f44a07f7fc128258a6c3e40edf8426d90149e9d0a1a3d4380ff490 -SIZE (hrydgard-ppsspp-lang-bfc3a51_GH0.tar.gz) = 549625 +SHA256 (hrydgard-ppsspp-v1.10_GH0.tar.gz) = 2fdcc55ed70ee8fe6d211e630fbec4a6f3109de4ab28bd8a31b1d98ee2dabbe4 +SIZE (hrydgard-ppsspp-v1.10_GH0.tar.gz) = 16951195 +SHA256 (hrydgard-glslang-8.13.3559-76-gd0850f87_GH0.tar.gz) = d4484a9401b976c35e6522e02fb765f99e2675933c9d98aabb4b4f05ac964b1a +SIZE (hrydgard-glslang-8.13.3559-76-gd0850f87_GH0.tar.gz) = 3135708 +SHA256 (hrydgard-ppsspp-lang-d184ba2_GH0.tar.gz) = 4930e2dd751928890ecf0a684791bcd7d4e836aa4e254a3db6abab9513edd8b1 +SIZE (hrydgard-ppsspp-lang-d184ba2_GH0.tar.gz) = 620573 SHA256 (KhronosGroup-SPIRV-Cross-2019-05-20-60-ga1f7c8dc_GH0.tar.gz) = 2a07055247a14c0112d6e35634de93f832ac88e08828d9147e3a20d8d46600b2 SIZE (KhronosGroup-SPIRV-Cross-2019-05-20-60-ga1f7c8dc_GH0.tar.gz) = 816026 SHA256 (Kingcom-armips-v0.10.0-28-g7885552_GH0.tar.gz) = 040a8d01b1c0e65b77ede9dd6713b6f6290346a29d300138454335362a396d6c SIZE (Kingcom-armips-v0.10.0-28-g7885552_GH0.tar.gz) = 197207 +SHA256 (2c7290e98b81.patch) = 684c4445a548188632d16ac9972a6c43187c4e164d2883b4189ef87d7c7c07bc +SIZE (2c7290e98b81.patch) = 866 diff --git a/emulators/ppsspp/files/patch-ext_glslang_CMakeLists.txt b/emulators/ppsspp/files/patch-ext_glslang_CMakeLists.txt deleted file mode 100644 index 26a7999cc14e..000000000000 --- a/emulators/ppsspp/files/patch-ext_glslang_CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -CMake Error at /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message): - Could NOT find PythonInterp: Found unsuitable version "2.7.16", but - required is at least "3" (found /usr/local/bin/python) -Call Stack (most recent call first): - /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:376 (_FPHSA_FAILURE_MESSAGE) - /usr/local/share/cmake/Modules/FindPythonInterp.cmake:160 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) - ext/glslang/CMakeLists.txt:120 (find_package) - ---- ext/glslang/CMakeLists.txt.orig 2019-06-18 08:00:46 UTC -+++ ext/glslang/CMakeLists.txt -@@ -114,15 +114,6 @@ function(glslang_set_link_args TARGET) - endif() - endfunction(glslang_set_link_args) - --# CMake needs to find the right version of python, right from the beginning, --# otherwise, it will find the wrong version and fail later --if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/External) -- find_package(PythonInterp 3 REQUIRED) --endif() -- --# We depend on these for later projects, so they should come first. --add_subdirectory(External) -- - if(NOT TARGET SPIRV-Tools-opt) - set(ENABLE_OPT OFF) - endif() diff --git a/emulators/ppsspp/files/patch-ext_glslang_glslang_Include_PoolAlloc.h b/emulators/ppsspp/files/patch-ext_glslang_glslang_Include_PoolAlloc.h deleted file mode 100644 index 834ab36ebeb6..000000000000 --- a/emulators/ppsspp/files/patch-ext_glslang_glslang_Include_PoolAlloc.h +++ /dev/null @@ -1,25 +0,0 @@ -https://github.com/KhronosGroup/glslang/commit/24b3e8384e93 - -In file included from Common/Vulkan/VulkanContext.cpp:28: -In file included from ext/glslang/SPIRV/GlslangToSpv.h:42: -In file included from ext/glslang/SPIRV/SpvTools.h:47: -In file included from ext/glslang/SPIRV/../glslang/MachineIndependent/localintermediate.h:42: -In file included from ext/glslang/SPIRV/../glslang/MachineIndependent/../Include/intermediate.h:55: -In file included from ext/glslang/SPIRV/../glslang/MachineIndependent/../Include/../Include/Common.h:108: -ext/glslang/SPIRV/../glslang/MachineIndependent/../Include/PoolAlloc.h:307:54: error: 'operator=' is a private member of 'glslang::TPoolAllocator' - void setAllocator(TPoolAllocator* a) { allocator = *a; } - ~~~~~~~~~ ^ ~~ -ext/glslang/SPIRV/../glslang/MachineIndependent/../Include/PoolAlloc.h:244:21: note: declared private here - TPoolAllocator& operator=(const TPoolAllocator&); // don't allow assignment operator - ^ - ---- ext/glslang/glslang/Include/PoolAlloc.h.orig 2019-06-18 08:00:46 UTC -+++ ext/glslang/glslang/Include/PoolAlloc.h -@@ -304,7 +304,6 @@ class pool_allocator { (public) - size_type max_size() const { return static_cast(-1) / sizeof(T); } - size_type max_size(int size) const { return static_cast(-1) / size; } - -- void setAllocator(TPoolAllocator* a) { allocator = *a; } - TPoolAllocator& getAllocator() const { return allocator; } - - protected: diff --git a/emulators/ppsspp/files/patch-system-libpng16 b/emulators/ppsspp/files/patch-system-libpng16 deleted file mode 100644 index ea5f2b052150..000000000000 --- a/emulators/ppsspp/files/patch-system-libpng16 +++ /dev/null @@ -1,62 +0,0 @@ -Make build glue accept libpng 1.6.x and don't hardcode suffix - ---- CMakeLists.txt.orig 2018-10-27 18:56:20 UTC -+++ CMakeLists.txt -@@ -663,9 +663,10 @@ else() - set(LIBZIP_LIBRARY libzip) - endif() - --# FindPNG does a few things we don't want. So do it ourselves. Fixed to libpng17 --find_path(PNG_PNG_INCLUDE_DIR NAMES "libpng17/png.h") --find_library(PNG_LIBRARY NAMES png17 libpng17) -+find_package(PkgConfig) -+pkg_check_modules(PNG libpng>=1.6) -+set(PNG_LIBRARY ${PNG_LIBRARIES}) -+set(PNG_PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS}) - find_package(PackageHandleStandardArgs) - find_package_handle_standard_args(PNG REQUIRED_VARS PNG_LIBRARY PNG_PNG_INCLUDE_DIR) - if (PNG_FOUND) ---- Core/Debugger/WebSocket/GPUBufferSubscriber.cpp.orig 2018-10-27 09:29:42 UTC -+++ Core/Debugger/WebSocket/GPUBufferSubscriber.cpp -@@ -17,7 +17,7 @@ - - #include - #ifndef USING_QT_UI --#include -+#include "png.h" - #include - #endif - #include "data/base64.h" ---- Core/Screenshot.cpp.orig 2018-10-27 09:29:42 UTC -+++ Core/Screenshot.cpp -@@ -21,7 +21,7 @@ - #ifdef USING_QT_UI - #include - #else --#include -+#include "png.h" - #include "ext/jpge/jpge.h" - #endif - ---- Core/TextureReplacer.cpp.orig 2018-10-27 09:29:42 UTC -+++ Core/TextureReplacer.cpp -@@ -18,7 +18,7 @@ - #ifdef USING_QT_UI - #include - #else --#include -+#include "png.h" - #endif - - #include ---- ext/native/image/png_load.cpp.orig 2018-10-27 09:29:42 UTC -+++ ext/native/image/png_load.cpp -@@ -5,7 +5,7 @@ - #ifdef USING_QT_UI - #include - #else --#include "libpng17/png.h" -+#include "png.h" - #endif - - #include "png_load.h"