gnu: flycast: Update to 2.5-0.33833cf, fixing build.

* gnu/packages/emulators.scm (flycast): Update to 2.5-0.33833cf.
[source] <snippet>: Bundle Vulkan-Headers for now.
[inputs]: Remove vulkan-headers for now.

Change-Id: I9bead5eaf14d58bfc898cf74ae3f9decd92ee321
This commit is contained in:
Maxim Cournoyer 2025-08-13 23:41:59 +09:00
parent 37553474e2
commit 5f1611071a
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -4352,72 +4352,82 @@ on a Commodore C64, C128 etc.")
(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,
;; Use a git snapshot as the latest 2.5 release is still on an older glslang
;; version that doesn't build with GCC 14.
(let ((commit "33833cfd1ed2d94d907223442fdb8cdafd8d5d80")
(revision "0"))
(package
(name "flycast")
(version (git-version "2.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/flyinghead/flycast")
(commit commit)
;; There are many bundled packages here included as git
;; submodules, but removing many of them would require patching
;; the source code and repository layout (see: <>).
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "16vwhw33zhq2b8mpg863cn7sz4f04wxjz2650jgqjv7i5lkdd1g9"))
(modules '((guix build utils)))
(snippet #~(begin
;; TODO: Uncomment after our vulkan-headers
;; are update to 1.3.261.0 or newer.
;; (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"
;; TODO: Uncomment after our vulkan-headers
;; are update to 1.3.261.0 or newer.
;;"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
;; TODO: Uncomment after vulkan-headers
;; is updated to 1.3.261.0 or newer.
;;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+)))
(license license:gpl2+))))
(define-public freedisksysrom
;; There is no release; use the latest commit.