summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/emulators.scm85
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+))))