summary refs log tree commit diff
path: root/gnu/packages/emulators.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emulators.scm')
-rw-r--r--gnu/packages/emulators.scm120
1 files changed, 84 insertions, 36 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 85912caf7f..7c04465526 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu>
 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2017, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
@@ -323,7 +323,7 @@ console.")
              bluez
              curl
              eudev
-             ffmpeg
+             ffmpeg-4
              font-wqy-microhei
              freetype
              glew
@@ -397,7 +397,7 @@ older games.")
   ;; This is not a patch staging area for DOSBox, but an unaffiliated fork.
   (package
     (name "dosbox-staging")
-    (version "0.78.1")
+    (version "0.79.1")
     (source
      (origin
        (method git-fetch)
@@ -406,7 +406,7 @@ older games.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "16byip1j9ckq0ik7ilrj0fc9dal3495s48xd21drpbb8q9jwb342"))))
+        (base32 "0wdnkz3djjc514hn945fr9g9mnpnvk16fan84ny9g5wxak6dvsqp"))))
     (build-system meson-build-system)
     (arguments
      (list #:configure-flags
@@ -420,19 +420,23 @@ older games.")
            #~(modify-phases %standard-phases
                (add-after 'unpack 'fix-includes
                  (lambda _
+                   ;; This unnecessary file has an encoding error.
+                   (delete-file "./src/libs/sdlcd/macosx/SDLOSXCAGuard.h")
                    (substitute* (find-files "." "\\.(cpp|h)")
                      (("^(#include <)(SDL[_.])" _ include file)
                       (string-append include "SDL2/" file))))))))
     (native-inputs
      (list pkg-config))
     (inputs
-     `(("alsa-lib" ,alsa-lib)
-       ("fluidsynth" ,fluidsynth)
-       ("libpng" ,libpng)
-       ("mesa" ,mesa)
-       ("opusfile" ,opusfile)
-       ("sdl2" ,(sdl-union (list sdl2 sdl2-net)))
-       ("zlib" ,zlib)))
+     (list alsa-lib
+           fluidsynth
+           iir
+           libpng
+           mesa
+           opusfile
+           (sdl-union (list sdl2 sdl2-net))
+           speexdsp
+           zlib))
     (home-page "https://dosbox-staging.github.io")
     (synopsis "DOS/x86 PC emulator focusing on ease of use")
     (description
@@ -718,7 +722,7 @@ The following systems are supported:
 (define-public mgba
   (package
     (name "mgba")
-    (version "0.9.3")
+    (version "0.10.1")
     (source
      (origin
        (method git-fetch)
@@ -727,7 +731,7 @@ The following systems are supported:
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1bg4ax5gjkr6d4cpzsgzv3bpa3i2c2b1ckwrjklqiy835b5ni6yi"))
+        (base32 "0pqfjsr9q61a3mgmvqxxkalxb838k46q9ilz31frpcvvndif0sm1"))
        (modules '((guix build utils)))
        (snippet
         ;; Make sure we don't use the bundled software.
@@ -773,7 +777,7 @@ and Game Boy Color games.")
 (define-public sameboy
   (package
     (name "sameboy")
-    (version "0.15.5")
+    (version "0.15.8")
     (source
      (origin
        (method git-fetch)
@@ -782,7 +786,7 @@ and Game Boy Color games.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0ly9x6cch0wdcnsp0qmrdl6r2h8805jp8hwji3fwswj8rlhxkpa7"))))
+        (base32 "11qz5lamwxgvlh4dc95xd4m8hrypjj3bvha51zg9l454hxlvw4j8"))))
     (build-system gnu-build-system)
     (native-inputs
      (list rgbds pkg-config))
@@ -1467,7 +1471,7 @@ as RetroArch.")
                  "--disable-builtinminiupnpc")))))))
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-4)
        ("freetype" ,freetype)
        ("libxinerama" ,libxinerama)
        ("libxkbcommon" ,libxkbcommon)
@@ -1505,31 +1509,31 @@ multi-system game/emulator system.")
 (define-public scummvm
   (package
     (name "scummvm")
-    (version "2.6.0")
+    (version "2.6.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://downloads.scummvm.org/frs/scummvm/" version
                            "/scummvm-" version ".tar.xz"))
        (sha256
-        (base32 "05zw9xqdix88f8p3py2rfnyiaxr2sbifkqi9s5gy3nf9s3l3h50w"))))
+        (base32 "1s8psdn3a3hqvvfgmlfxrqqdw8hbr0zyrvirzsnzh6yxmgpvkbwg"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f                                 ;require "git"
-       #:configure-flags (list "--enable-release") ;for optimizations
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           ;; configure does not work followed by both "SHELL=..." and
-           ;; "CONFIG_SHELL=..."; set environment variables instead
-           (lambda* (#:key inputs outputs configure-flags #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bash (search-input-file inputs "/bin/bash"))
-                    (flags `(,(string-append "--prefix=" out)
+     (list
+      #:tests? #f                                   ;require "git"
+      #:configure-flags #~(list "--enable-release") ;for optimizations
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            ;; configure does not work followed by both "SHELL=..." and
+            ;; "CONFIG_SHELL=..."; set environment variables instead
+            (lambda* (#:key inputs configure-flags #:allow-other-keys)
+              (let ((bash (search-input-file inputs "/bin/bash"))
+                    (flags `(,(string-append "--prefix=" #$output)
                              ,@configure-flags)))
-               (setenv "SHELL" bash)
-               (setenv "CONFIG_SHELL" bash)
-               (apply invoke "./configure" flags)))))))
+                (setenv "SHELL" bash)
+                (setenv "CONFIG_SHELL" bash)
+                (apply invoke "./configure" flags)))))))
     (native-inputs
      (list nasm pkg-config))
     (inputs
@@ -1712,7 +1716,7 @@ This is a part of the TiLP project.")
 (define-public mame
   (package
     (name "mame")
-    (version "0.245")
+    (version "0.249")
     (source
      (origin
        (method git-fetch)
@@ -1721,7 +1725,7 @@ This is a part of the TiLP project.")
              (commit (apply string-append "mame" (string-split version #\.)))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1w34hcvnibnz0xaydh2kdciffng07zins9lnrv041fmzlk4318qb"))
+        (base32 "1akws4l3b7z5mkf09mdaz640rj41sbg3sh1xlv1sp0yhdjqjpi90"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled libraries.
@@ -2031,7 +2035,7 @@ assembler, and debugger for the Intel 8085 microprocessor.
        (list libcdio
              sdl2
              gtk+
-             ffmpeg
+             ffmpeg-4
              libxv
              libarchive
              pulseaudio))
@@ -2318,7 +2322,7 @@ elseif(FALSE)"))
     (native-inputs (list pkg-config python))
     (inputs (list bash
                   cityhash
-                  ffmpeg
+                  ffmpeg-4
                   glew
                   glslang
                   libpng
@@ -2490,3 +2494,47 @@ on a Commodore C64, C128 etc.")
     (description "This package provides a development environment for 6502 systems, including macro assembler, C compiler, linker, librarian and several other tools.")
     (home-page "https://cc65.github.io/")
     (license license:zlib)))
+
+(define-public uxn
+  (let ((commit "1b2049e238df96f32335edf1c6db35bd09f8b42d")
+        (revision "1"))
+    (package
+      (name "uxn")
+      (version (git-version "0.1.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.sr.ht/~rabbits/uxn")
+                      (commit commit)))
+                (file-name (string-append name "-" version))
+                (sha256
+                 (base32
+                  "0d3hy1db1mfk2l7q7wdxvp1z0vkmyyb9pdp81d9zm58ylpxaq2cp"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list #:tests? #f ;no tests
+             #:phases #~(modify-phases %standard-phases
+                          (delete 'configure)
+                          (replace 'build
+                            (lambda _
+                              (setenv "CC" #$(cc-for-target))
+                              (invoke "./build.sh" "--no-run")))
+                          (replace 'install
+                            (lambda _
+                              (let ((bin (string-append #$output "/bin"))
+                                    (share (string-append #$output
+                                                          "/share/uxn")))
+                                (with-directory-excursion "bin"
+                                  (for-each (lambda (x)
+                                              (install-file x bin))
+                                            '("uxnasm" "uxncli" "uxnemu"))
+                                  (for-each (lambda (x)
+                                              (install-file x share))
+                                            '("asma.rom" "launcher.rom")))))))))
+      (inputs (list sdl2))
+      (home-page "https://100r.co/site/uxn.html")
+      (synopsis "Assembler and emulator for the Uxn stack-machine")
+      (description
+       "This package provides an assembler and emulator for the Uxn
+stack-machine, written in ANSI C.  Graphical output is implemented using SDL2.")
+      (license license:expat))))