(address . guix-patches@gnu.org)(name . florhizome)(address . florhizome@posteo.net)
From: florhizome <florhizome@posteo.net>
This adds the citra emulator for nintendo 3ds games - the nightly repo marks the stable version. NixOs does some things for compatibility checks that we don't but it works fine so far. :)
---
gnu/packages/emulators.scm | 60 ++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
Toggle diff (100 lines)
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 38795b703c..3121a71484 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -61,6 +61,7 @@ (define-module (gnu packages emulators)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages curl)
#:use-module (gnu packages digest)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
@@ -74,6 +75,7 @@ (define-module (gnu packages emulators)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libedit)
@@ -105,6 +107,7 @@ (define-module (gnu packages emulators)
#:use-module (gnu packages xorg)
#:use-module (gnu packages web)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@@ -245,9 +248,66 @@ (define-public desmume
"DeSmuME is an emulator for the Nintendo DS handheld gaming console.")
(license license:gpl2)))
+(define-public citra
+ (package
+ (name "citra")
+ (version "1785")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/citra-emu/citra-nightly")
+ (commit
+ (string-append "nightly-" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1grkrrxs1497i51spgnwmgfkqgkm7gplylhcrk67agaklx65d5s9"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "-DUSE_SYSTEM_BOOST=ON"
+ "-DCITRA_USE_BUNDLED_FFMPEG=OFF"
+ "-DCITRA_USE_BUNDLED_QT=OFF"
+ "-DCITRA_USE_BUNDLED_SDL2=OFF"
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DCITRA_ENABLE_COMPATIBILITY_REPORTING=OFF"
+ "-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF"
+ "-DENABLE_QT_TRANSLATION=ON"
+ "-DENABLE_WEB_SERVICE=ON"
+ "-DENABLE_FFMPEG_AUDIO_DECODER=ON"
+ "-DUSE_DISCORD_PRESENCE=ON")
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'delete-check
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("check_submodules_present\\(\\)")"")))))))
+ (native-inputs
+ (list pkg-config doxygen))
+ (inputs
+ (list qtbase-5 qtmultimedia-5 qttools-5
+ qtwayland libpng libxkbcommon
+ openssl
+ ffmpeg pulseaudio curl rapidjson
+ sdl2 libusb boost))
+ ;;gstreamer-plugins-bad needed for camera support
+ (propagated-inputs (list gst-plugins-bad xdg-utils shared-mime-info))
+ (home-page "https://citra-emu.org")
+ (synopsis "Nintendo 3DS Emulator")
+ (description "Citra is an experimental open-source Nintendo 3DS
+ emulator/debugger written in C++. It is written with portability in
+ mind, with builds actively maintained for Windows, Linux and macOS.
+ The \"nightly\" version marks the stable release.")
+ (license license:gpl3+)))
+
;; Building from recent Git because the official 5.0 release no longer builds.
;; Following commits and revision numbers of beta versions listed at
;; https://dolphin-emu.org/download/.
+
(define-public dolphin-emu
(let ((commit "a34823df61df65168aa40ef5e82e44defd4a0138")
(revision "13178"))
base-commit: 86ec52f66735b122b9035eba56516fd16f3be958
prerequisite-patch-id: 253e1cc8278ab9981294f4e483c7b29a466672d9
--
2.38.0