guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 2cdd5922150d84fe69cd2468c60146616be4e945
Author: terramorpha <[email protected]>
AuthorDate: Sat Feb 7 11:51:16 2026 -0500

    gnu: Add eden.
    
    * gnu/packages/emulators.scm (eden): New variable.
    
    Change-Id: Iacd2561ee9923e466a89ff1610b593fe86dc5ad9
    Signed-off-by: Liliana Marie Prikler <[email protected]>
---
 gnu/packages/emulators.scm | 90 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index c58f8f1390..88871969a4 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1944,6 +1944,96 @@ to avoid macro conflicts.")
       (home-page "https://github.com/azahar-emu/mcl";)
       (license license:expat))))
 
+(define-public eden
+  (package
+    (name "eden")
+    (version "0.1.1")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://git.eden-emu.dev/eden-emu/eden";)
+               (commit (string-append "v" version))))
+        (file-name (git-file-name "eden" version))
+        (sha256
+         (base32 "013594cqgagawpss2h1j5ixsrs7qp6wgqpsbyls6z7z0j7nyhjmn"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      ;; Tests require packaging additional dependencies (oaknut) and fail
+      ;; to build on x86 systems.
+      #:tests? #f
+      #:configure-flags
+      #~(list
+         ;; Use system libraries instead of bundled copies.
+         "-DCPMUTIL_FORCE_SYSTEM=ON"
+         ;; Prevent CMake from downloading dependencies during build.
+         "-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
+         "-DCPM_DOWNLOAD_ALL=OFF"
+         ;; Enable the Qt frontend with translations and web applet.
+         "-DENABLE_QT=ON"
+         "-DENABLE_QT_TRANSLATION=ON"
+         "-DYUZU_USE_QT_WEB_ENGINE=ON"
+         ;; Disable web services (telemetry, etc.).
+         "-DENABLE_WEB_SERVICE=OFF"
+         ;; Update checker is not useful in Guix.
+         "-DENABLE_UPDATE_CHECKER=OFF"
+         ;; Disable OpenSSL to avoid the cpp-httplib dependency.  This means
+         ;; the emulator will use the 'none' SSL backend, which returns errors
+         ;; for all SSL/TLS operations.  Games requiring online connectivity
+         ;; (multiplayer, leaderboards, DLC checks) will not function, but
+         ;; offline/single-player games are unaffected.
+         "-DENABLE_OPENSSL=OFF"
+         ;; Use our nx-tzdb package for timezone data.
+         (string-append "-DYUZU_TZDB_PATH="
+                        #$(this-package-input "nx-tzdb")))))
+    (inputs
+     (list
+      boost
+      cubeb
+      enet
+      ffmpeg
+      fmt
+      frozen
+      gamemode
+      glslang
+      libusb
+      lz4
+      mbedtls
+      mcl-cpp-for-eden
+      nlohmann-json
+      nx-tzdb
+      opus
+      qt5compat
+      qtbase
+      qttools
+      qtwebengine
+      quazip
+      sdl2
+      simpleini
+      sirit
+      spirv-headers
+      spirv-tools
+      stb
+      unordered-dense
+      vulkan-headers
+      vulkan-memory-allocator
+      vulkan-utility-libraries
+      xbyak
+      zlib
+      (list zstd "lib")))
+    (native-inputs
+     (list pkg-config))
+    (synopsis "Nintendo Switch emulator")
+    (description "Eden is a Nintendo Switch emulator derived from Yuzu and
+Sudachi.  It is written in C++ with portability in mind and is capable of
+running most commercial games at full speed.
+
+This emulator requires encryption keys and firmware files obtained from a
+Nintendo Switch console.")
+    (home-page "https://git.eden-emu.dev/eden-emu/eden";)
+    (license license:gpl3+)))
+
 (define (make-libretro-beetle-psx name hw)
   (let ((commit "80d3eba272cf6efab6b76e4dc44ea2834c6f910d")
        (revision "0"))

Reply via email to