diff options
-rw-r--r-- | gnu/packages/emulators.scm | 85 |
1 files changed, 84 insertions, 1 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index b9c854ca25..650c80e4dc 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> -;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; @@ -46,6 +46,7 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages digest) #:use-module (gnu packages elf) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) @@ -61,6 +62,7 @@ #:use-module (gnu packages libedit) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages maths) #:use-module (gnu packages mp3) @@ -72,12 +74,14 @@ #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages sdl) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages upnp) + #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages vulkan) #:use-module (gnu packages wxwidgets) @@ -1563,3 +1567,82 @@ derived from Gens. Project goals include clean source code, combined features from various forks of Gens, and improved platform portability.") (supported-systems '("i686-linux" "x86_64-linux")) (license license:gpl2+))) + +(define-public rpcs3 + ;; git-version is `$(git rev-list HEAD --count)-$(git rev-parse --short HEAD)`. + (let ((git-version "9605-7a7ac625c")) + (package + (name "rpcs3") + (version "0.0.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RPCS3/rpcs3") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1219lzr18f7jfgval5scmw7xllgqs43sxg659f37rx8vy9f9r3s8")))) + (build-system cmake-build-system) + (arguments + `(;; #:parallel-build? #f + #:configure-flags '("-DUSE_SYSTEM_LIBPNG=ON" + "-DUSE_SYSTEM_FFMPEG=ON" + ;; "-DXXHASH_BUNDLED_MODE=OFF" + ;; "-DYAML_CPP_BUILD_TOOLS=OFF" + ;; "-DYAML_CPP_BUILD_CONTRIB=OFF" + ;; "-DSKIP_GLSLANG_INSTALL=ON" + "-DBUILD_LLVM_SUBMODULE=OFF" + "-DWITH_LLVM=OFF" + "-DUSE_NATIVE_INSTRUCTIONS=OFF") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-git-version + (lambda* _ + ;; Version must be set manually since the build system would use + ;; .git otherwise. + (with-output-to-file "rpcs3/git-version.h" + (lambda () + (display + (string-append + "#define RPCS3_GIT_VERSION \"" ,git-version "\"\n" + "#define RPCS3_GIT_BRANCH \"HEAD\"\n" + "#define RPCS3_GIT_VERSION_NO_UPDATE 1\n")))) + #t))))) + (native-inputs + `(("gcc" ,gcc-9) + ;; ("llvm" ,llvm) + ("pkg-config" ,pkg-config) + ;; ("git" ,git) + )) + (inputs + `(("mesa" ,mesa) + ("glslang" ,glslang) + ("glew" ,glew) + ("openal" ,openal) + ("sdl2" ,sdl2) + ("vulkan-headers" ,vulkan-headers) + ("vulkan-loader" ,vulkan-loader) + ("libpng" ,libpng) + ("ffmpeg" ,ffmpeg) + ("faudio" ,faudio) + ("libevdev" ,libevdev) + ("xxhash" ,xxhash) + ("yaml-cpp" ,yaml-cpp) + ("libusb" ,libusb) + ("hidapi" ,hidapi) + ("pugixml" ,pugixml) + ("python" ,python) + ("alsa-lib" ,alsa-lib) + ("wayland" ,wayland) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtquickcontrols" ,qtquickcontrols) + ("qtdeclarative" ,qtdeclarative))) + (home-page "https://rpcs3.net/") + (synopsis "PlayStation 3 emulator and debugger") + (description + "RPCS3 is a multi-platform Sony PlayStation 3 emulator and debugger +written in C++.") + (supported-systems '("x86_64-linux")) + (license license:gpl2+)))) |