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/