From 2d105d958dfbf3db56e5cf21e02b4b40a0e974e4 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Mon, 19 Jun 2017 20:47:00 +0000 Subject: [PATCH] emulators/rpcs3: add new port RPCS3 is an open-source Sony PlayStation 3 emulator and debugger written in C++ for Windows and Linux. The project began development on May 23rd, 2011 and currently sports modern Vulkan, Direct3D 12 and OpenGL graphic APIs. The emulator is capable of booting and playing hundreds of commercial games. With each and every contribution and donation, more and more games are becoming closer and closer to either booting or full playability. https://rpcs3.net/ --- emulators/Makefile | 1 + emulators/rpcs3/Makefile | 54 +++++++++++++++++++ emulators/rpcs3/distinfo | 15 ++++++ .../files/patch-3rdparty_hidapi_libusb_hid.c | 11 ++++ emulators/rpcs3/pkg-descr | 9 ++++ 5 files changed, 90 insertions(+) create mode 100644 emulators/rpcs3/Makefile create mode 100644 emulators/rpcs3/distinfo create mode 100644 emulators/rpcs3/files/patch-3rdparty_hidapi_libusb_hid.c create mode 100644 emulators/rpcs3/pkg-descr diff --git a/emulators/Makefile b/emulators/Makefile index 1b0b9775e474..acffe03e7528 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -131,6 +131,7 @@ SUBDIR += raine SUBDIR += riscv-fesvr SUBDIR += riscv-isa-sim + SUBDIR += rpcs3 SUBDIR += rtc SUBDIR += rubygem-fission SUBDIR += simh diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile new file mode 100644 index 000000000000..c30028b3fd20 --- /dev/null +++ b/emulators/rpcs3/Makefile @@ -0,0 +1,54 @@ +# $FreeBSD$ + +PORTNAME= rpcs3 +DISTVERSIONPREFIX= v +DISTVERSION= 0.0.2-312 +DISTVERSIONSUFFIX= -gcddf0bf7 # tracking #2813 +CATEGORIES= emulators + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= PS3 emulator/debugger + +LICENSE= BSD3CLAUSE BSL GPLv2 MIT ZLIB +LICENSE_COMB= multi +LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/3rdparty/cereal/LICENSE +LICENSE_FILE_BSL= ${WRKSRC}/Utilities/LICENSE_1_0.txt +LICENSE_FILE_MIT= ${WRKSRC}/3rdparty/GSL/LICENSE +LICENSE_FILE_ZLIB= ${WRKSRC}/asmjit/LICENSE.md + +LIB_DEPENDS= libLLVM-4.0.so:devel/llvm40 \ + libpng.so:graphics/png \ + libavcodec.so:multimedia/ffmpeg + +ONLY_FOR_ARCHS= amd64 + +USE_GITHUB= yes +GH_ACCOUNT= RPCS3 +GH_TUPLE= RPCS3:hidapi:hidapi-0.8.0-rc1-23-gc095a22:hidapi/3rdparty/hidapi \ + RPCS3:pugixml:f205aaf:pugixml/3rdparty/pugixml \ + RPCS3:yaml-cpp:release-0.5.3-62-g017626a:yamlcpp/Utilities/yaml-cpp \ + kobalicek:asmjit:1370fe6:asmjit/asmjit \ + Microsoft:GSL:fc5fce4:GSL/3rdparty/GSL \ + USCiLab:cereal:v1.2.0:cereal/3rdparty/cereal + +USES= cmake compiler:c++14-lang iconv:wchar_t localbase:ldflags \ + openal:soft pkgconfig +USE_GL= gl glew +USE_QT5= qmake_build buildtools_build core gui widgets +CMAKE_ARGS+= -DUSE_SYSTEM_LIBPNG=on -DUSE_SYSTEM_FFMPEG=on +CXXFLAGS+= -D_GLIBCXX_USE_C99 # XXX ports/193528 +CXXFLAGS+= -Wno-macro-redefined # __STDC_*_MACROS sys/cdefs.h vs. llvm-config +LDFLAGS+= -Wl,--as-needed # GLU +PLIST_FILES= bin/${PORTNAME} \ + share/applications/${PORTNAME}.desktop \ + share/icons/hicolor/48x48/apps/${PORTNAME}.png \ + share/icons/hicolor/scalable/apps/${PORTNAME}.svg \ + +post-patch: + @${REINPLACE_CMD} -e 's/5\.8/5\.7/' ${WRKSRC}/${PORTNAME}/CMakeLists.txt + @${REINPLACE_CMD} \ + -e 's/"unknown"/"${GH_TAGNAME}"/' \ + -e 's/^\(VERSION =\).*/\1 ${GH_TAGNAME}/' \ + ${WRKSRC}/${PORTNAME}/git-version.cmake + +.include diff --git a/emulators/rpcs3/distinfo b/emulators/rpcs3/distinfo new file mode 100644 index 000000000000..3667207675c8 --- /dev/null +++ b/emulators/rpcs3/distinfo @@ -0,0 +1,15 @@ +TIMESTAMP = 1497896268 +SHA256 (RPCS3-rpcs3-v0.0.2-312-gcddf0bf7_GH0.tar.gz) = 77ac9a9666c178c1c52c470b9c047bb4caa14ba92925fc8e3a5509e8c6275767 +SIZE (RPCS3-rpcs3-v0.0.2-312-gcddf0bf7_GH0.tar.gz) = 11247315 +SHA256 (RPCS3-hidapi-hidapi-0.8.0-rc1-23-gc095a22_GH0.tar.gz) = 76796e880e71864f24540f6f6edf8759e4710f9b2b0594a28066865733681de0 +SIZE (RPCS3-hidapi-hidapi-0.8.0-rc1-23-gc095a22_GH0.tar.gz) = 105539 +SHA256 (RPCS3-pugixml-f205aaf_GH0.tar.gz) = 3b2a7e21625d8cbeb3aa1841b8816f6cab0752e89008b9fc67a325c800f153b5 +SIZE (RPCS3-pugixml-f205aaf_GH0.tar.gz) = 76332 +SHA256 (RPCS3-yaml-cpp-release-0.5.3-62-g017626a_GH0.tar.gz) = 1d4b32443f137c23b68d3cb183ba6fb48eb76be2b0b30016970adff5c770d841 +SIZE (RPCS3-yaml-cpp-release-0.5.3-62-g017626a_GH0.tar.gz) = 65888 +SHA256 (kobalicek-asmjit-1370fe6_GH0.tar.gz) = cc064a8e495959ee525803bd83a4f9b2b3bf6e9aacbc7538e8ac3c20fb12e83e +SIZE (kobalicek-asmjit-1370fe6_GH0.tar.gz) = 447958 +SHA256 (Microsoft-GSL-fc5fce4_GH0.tar.gz) = 2df1538ff240bf4dd3ef44ba8c832451376fff8e74f7734d32fc8c337557a64d +SIZE (Microsoft-GSL-fc5fce4_GH0.tar.gz) = 38809 +SHA256 (USCiLab-cereal-v1.2.0_GH0.tar.gz) = 1ccf3ed205a7a2f0d6a060415b123f1ae0d984cd4435db01af8de11a2eda49c1 +SIZE (USCiLab-cereal-v1.2.0_GH0.tar.gz) = 299883 diff --git a/emulators/rpcs3/files/patch-3rdparty_hidapi_libusb_hid.c b/emulators/rpcs3/files/patch-3rdparty_hidapi_libusb_hid.c new file mode 100644 index 000000000000..34c8c925484d --- /dev/null +++ b/emulators/rpcs3/files/patch-3rdparty_hidapi_libusb_hid.c @@ -0,0 +1,11 @@ +--- 3rdparty/hidapi/libusb/hid.c.orig 2017-04-29 01:03:27 UTC ++++ 3rdparty/hidapi/libusb/hid.c +@@ -397,7 +397,7 @@ static wchar_t *get_usb_string(libusb_device_handle *d + size_t inbytes; + size_t outbytes; + size_t res; +-#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) && __FreeBSD__ < 10 + const char *inptr; + #else + char *inptr; diff --git a/emulators/rpcs3/pkg-descr b/emulators/rpcs3/pkg-descr new file mode 100644 index 000000000000..f14e456cfc44 --- /dev/null +++ b/emulators/rpcs3/pkg-descr @@ -0,0 +1,9 @@ +RPCS3 is an open-source Sony PlayStation 3 emulator and debugger +written in C++ for Windows and Linux. The project began development on +May 23rd, 2011 and currently sports modern Vulkan, Direct3D 12 and +OpenGL graphic APIs. The emulator is capable of booting and playing +hundreds of commercial games. With each and every contribution and +donation, more and more games are becoming closer and closer to either +booting or full playability. + +WWW: https://rpcs3.net/