diff options
author | Andrew Wong <wongandj@icloud.com> | 2025-03-04 14:01:00 -0500 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2025-03-23 15:42:26 +0100 |
commit | 204954e7d5efd05a77091e83406d126df2369736 (patch) | |
tree | b6db77a69e8808615777243315a7c8d602b327e8 | |
parent | 4ea012fc6ddcb32574fbd4a854b11808c34fbca8 (diff) | |
download | guix-204954e7d5efd05a77091e83406d126df2369736.tar.gz guix-204954e7d5efd05a77091e83406d126df2369736.zip |
gnu: Add flycast.
* gnu/packages/emulators.scm (flycast): New variable.
Change-Id: I358235492a3493c3126f7ca9f738ed2706e36105
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
-rw-r--r-- | gnu/packages/emulators.scm | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 2bed105653..e71c2803a3 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2025 Andrew Wong <wongandj@icloud.comg> ;;; ;;; This file is part of GNU Guix. ;;; @@ -4063,6 +4064,74 @@ on a Commodore C64, C128 etc.") ;; zlib license with an (non-)advertising clause. (license license:zlib))) +(define-public flycast + (package + (name "flycast") + (version "2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flyinghead/flycast") + (commit (string-append "v" version)) + ;; There are many bundled packages here included as git + ;; submodules. Removing many of them would require patching the + ;; source code and repository layout. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ainy75gkrvilcm89hq6wq9md41w0mxgp6l27q5fzrxxykpjh6ym")) + (modules '((guix build utils))) + (snippet #~(begin + (substitute* "CMakeLists.txt" + (("add_subdirectory\\(core/deps/Vulkan-Headers\\)") + "find_package(VulkanHeaders)")) + (with-directory-excursion "core/deps" + (for-each delete-file-recursively + '("SDL" + "Spout" + "Syphon" + "Vulkan-Headers" + "breakpad" + "discord-rpc" + "libzip" + "oboe"))))))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f ; no test suite + #:configure-flags + #~(list "-DUSE_ALSA=ON" + "-DUSE_BREAKPAD=OFF" + "-DUSE_DX11=OFF" + "-DUSE_DX9=OFF" + ;; The USE_HOST_GLSLANG option is not implemented correctly. + ;; (see: https://github.com/flyinghead/flycast/issues/1843) + "-DUSE_HOST_GLSLANG=OFF" + "-DUSE_HOST_LIBZIP=ON" + "-DUSE_HOST_SDL=ON" + "-DUSE_LIBAO=ON" + "-DUSE_LUA=ON" + "-DUSE_PULSEAUDIO=ON" + "-DUSE_VULKAN=ON"))) + (inputs (list alsa-lib + ao + curl + glslang + libzip + lua + miniupnpc + pulseaudio + sdl2 + spirv-tools + vulkan-headers + pkg-config)) + (home-page "https://github.com/flyinghead/flycast") + (synopsis "Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator") + (description "Flycast is a multi-platform Sega Dreamcast, Naomi, Naomi 2, +and Atomiswave emulator derived from reicast.") + (license license:gpl2+))) + (define-public freedisksysrom ;; There is no release; use the latest commit. (let ((commit "0d5f95f109bb3aadf2bb9510bfda13879bbd5266") |