gnu: Move emulation packages from games to emulators.
* gnu/packages/games.scm (desmume) (dosbox) (emulation-station) (higan) (mgba) (mupen64plus-audio-sdl) (mupen64plus-core) (mupen64plus-input-sdl) (mupen64plus-rsp-hle) (mupen64plus-rsp-z64) (mupen64plus-ui-console) (mupen64plus-video-arachnoid) (mupen64plus-video-glide64) (mupen64plus-video-glide64mk2) (mupen64plus-video-rice) (mupen64plus-video-z64) (nestopia-ue) (retroarch): Move to... * gnu/packages/emulators.scm: ... here.
This commit is contained in:
parent
65c9d25739
commit
9af704c59c
|
@ -1,6 +1,14 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 David Thompson <dthompson2@worcester.edu>
|
||||
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -20,31 +28,82 @@
|
|||
(define-module (gnu packages emulators)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages game-development)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages upnp)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix build-system cmake))
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public desmume
|
||||
(package
|
||||
(name "desmume")
|
||||
(version "0.9.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/desmume/desmume/"
|
||||
version "/desmume-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Enable support for WiFi and microphone.
|
||||
`(#:configure-flags '("--enable-wifi"
|
||||
"--enable-openal")))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)
|
||||
("sdl" ,sdl)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+-2)
|
||||
("glu" ,glu)))
|
||||
(home-page "http://desmume.org/")
|
||||
(synopsis "Nintendo DS emulator")
|
||||
(description
|
||||
"DeSmuME is an emulator for the Nintendo DS handheld gaming console.")
|
||||
(license license:gpl2)))
|
||||
|
||||
;; Building from recent Git because the official 5.0 release no longer builds.
|
||||
(define-public dolphin-emu
|
||||
|
@ -173,3 +232,889 @@ turbo speed, networked multiplayer, and graphical enhancements.")
|
|||
(supported-systems '("x86_64-linux")) ; TODO: should also work on ARM64.
|
||||
; dolphin/Data/Sys/GC/font_*.bin: Licensed under ASL2.0.
|
||||
(license (list license:gpl2+ license:asl2.0 license:fdl1.2+)))))
|
||||
|
||||
(define-public dosbox
|
||||
(package
|
||||
(name "dosbox")
|
||||
(version "0.74.svn3947")
|
||||
(source (origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/")
|
||||
(revision 3947)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
;; Use SVN head, since the last release (2010) is incompatible
|
||||
;; with GCC 4.8+ (see
|
||||
;; <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624976>).
|
||||
(sha256
|
||||
(base32
|
||||
"1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'autogen.sh
|
||||
(lambda _
|
||||
(zero? (system* "sh" "autogen.sh")))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
(inputs
|
||||
`(("sdl" ,sdl)
|
||||
("libpng" ,libpng)
|
||||
("zlib" ,zlib)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("glu" ,glu)
|
||||
("mesa" ,mesa)))
|
||||
(home-page "http://www.dosbox.com")
|
||||
(synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound")
|
||||
(description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox
|
||||
also emulates CPU:286/386 realmode/protected mode, Directory
|
||||
FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a
|
||||
SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with
|
||||
older games.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emulation-station
|
||||
(let ((commit "646bede3d9ec0acf0ae378415edac136774a66c5"))
|
||||
(package
|
||||
(name "emulation-station")
|
||||
(version "2.0.1")
|
||||
(source (origin
|
||||
(method git-fetch) ; no tarball available
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Aloshi/EmulationStation.git")
|
||||
(commit commit))) ; no version tag
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no tests
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("boost" ,boost)
|
||||
("curl" ,curl)
|
||||
("eigin" ,eigen)
|
||||
("freeimage" ,freeimage)
|
||||
("freetype" ,freetype)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)))
|
||||
(synopsis "Video game console emulator front-end")
|
||||
(description "EmulationStation provides a graphical front-end to a large
|
||||
number of video game console emulators. It features an interface that is
|
||||
usable with any game controller that has at least 4 buttons, theming support,
|
||||
and a game metadata scraper.")
|
||||
(home-page "http://www.emulationstation.org")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public higan
|
||||
(package
|
||||
(name "higan")
|
||||
(version "106")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://gitlab.com/higan/higan/repository/archive.tar.gz?ref=v"
|
||||
version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0y42pra0dxzlbkyzcp3r8a39pji2bj3p9fl40425f60af2igr4rw"))
|
||||
(patches (search-patches "higan-remove-march-native-flag.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("ao" ,ao)
|
||||
("eudev" ,eudev)
|
||||
("gtk+" ,gtk+-2)
|
||||
("gtksourceview-2" ,gtksourceview-2)
|
||||
("libxv" ,libxv)
|
||||
("mesa" ,mesa)
|
||||
("openal" ,openal)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("sdl" ,sdl)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(let ((build-phase (assoc-ref %standard-phases 'build))
|
||||
(install-phase (assoc-ref %standard-phases 'install)))
|
||||
(modify-phases %standard-phases
|
||||
;; The higan build system has no configure phase.
|
||||
(delete 'configure)
|
||||
(add-before 'build 'chdir-to-higan
|
||||
(lambda _
|
||||
(chdir "higan")))
|
||||
(add-before 'install 'create-/share/applications
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; It seems the author forgot to do this in the Makefile.
|
||||
(mkdir-p (string-append out "/share/applications")))))
|
||||
(add-after 'install 'chdir-to-icarus
|
||||
(lambda _
|
||||
(chdir "../icarus")))
|
||||
(add-after 'chdir-to-icarus 'build-icarus build-phase)
|
||||
(add-after 'build-icarus 'install-icarus install-phase)
|
||||
(add-after 'install-icarus 'wrap-higan-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(higan (string-append bin "/higan"))
|
||||
(higan-original (string-append higan "-original"))
|
||||
(bash (string-append (assoc-ref inputs "bash")
|
||||
"/bin/bash"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(mkdir (string-append coreutils "/bin/mkdir"))
|
||||
(cp (string-append coreutils "/bin/cp"))
|
||||
(cp-r (string-append cp " -r --no-preserve=mode")))
|
||||
;; First, have the executable make sure ~/.local/share/higan
|
||||
;; contains up to date files. Higan insists on looking there
|
||||
;; for these data files.
|
||||
(rename-file higan higan-original)
|
||||
(with-output-to-file higan
|
||||
(lambda ()
|
||||
(display
|
||||
(string-append
|
||||
"#!" bash "\n"
|
||||
;; higan doesn't respect $XDG_DATA_HOME
|
||||
mkdir " -p ~/.local/share\n"
|
||||
cp-r " " out "/share/higan ~/.local/share\n"
|
||||
"exec " higan-original))))
|
||||
(chmod higan #o555)
|
||||
;; Second, make sure higan will find icarus in PATH.
|
||||
(wrap-program higan
|
||||
`("PATH" ":" prefix (,bin))))))))
|
||||
#:make-flags
|
||||
(list "compiler=g++"
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
;; There is no test suite.
|
||||
#:tests? #f))
|
||||
(home-page "http://byuu.org/emulation/higan/")
|
||||
(synopsis "Nintendo multi-system emulator")
|
||||
(description
|
||||
"higan (formerly bsnes) is an emulator for multiple Nintendo video game
|
||||
consoles, including the Nintendo Entertainment System (NES/Famicom), Super
|
||||
Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy
|
||||
Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems
|
||||
Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
|
||||
;; As noted in these files among more:
|
||||
;; - icarus/icarus.cpp
|
||||
;; - higan/emulator/emulator.hpp
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public mgba
|
||||
(package
|
||||
(name "mgba")
|
||||
(version "0.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mgba-emu/mgba/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Make sure we don't use the bundled software.
|
||||
'(for-each
|
||||
(lambda (subdir)
|
||||
(let ((lib-subdir (string-append "src/third-party/" subdir)))
|
||||
(delete-file-recursively lib-subdir)))
|
||||
'("libpng" "lzma" "sqlite3" "zlib")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no "test" target
|
||||
#:configure-flags
|
||||
(list "-DUSE_LZMA=OFF" ;do not use bundled LZMA
|
||||
"-DUSE_LIBZIP=OFF" ;use "zlib" instead
|
||||
(string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
(assoc-ref %outputs "out") "/lib"))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("ffmpeg" ,ffmpeg)
|
||||
("imagemagick" ,imagemagick)
|
||||
("libedit" ,libedit)
|
||||
("libepoxy" ,libepoxy)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("minizip" ,minizip)
|
||||
("ncurses" ,ncurses)
|
||||
("qtbase" ,qtbase)
|
||||
("qtmultimedia" ,qtmultimedia)
|
||||
("qttools" ,qttools)
|
||||
("sdl2" ,sdl2)
|
||||
("sqlite" ,sqlite)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://mgba.io")
|
||||
(synopsis "Game Boy Advance emulator")
|
||||
(description
|
||||
"mGBA is an emulator for running Game Boy Advance games. It aims to be
|
||||
faster and more accurate than many existing Game Boy Advance emulators, as
|
||||
well as adding features that other emulators lack. It also supports Game Boy
|
||||
and Game Boy Color games.")
|
||||
;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+ and "inih.c" is
|
||||
;; BSD-3.
|
||||
(license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3))))
|
||||
|
||||
(define-public mupen64plus-core
|
||||
(package
|
||||
(name "mupen64plus-core")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-core/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("glu" ,glu)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "all" (string-append "PREFIX=" out)))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
;; As per the Makefile (in projects/unix/Makefile):
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Nintendo 64 emulator core library")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
core library.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-audio-sdl
|
||||
(package
|
||||
(name "mupen64plus-audio-sdl")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
SDL audio plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-input-sdl
|
||||
(package
|
||||
(name "mupen64plus-input-sdl")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-input-sdl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)))
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
SDL input plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-rsp-hle
|
||||
(package
|
||||
(name "mupen64plus-rsp-hle")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
high-level emulation (HLE) RSP processor plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-rsp-z64
|
||||
(package
|
||||
(name "mupen64plus-rsp-z64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Z64 RSP processor plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-arachnoid
|
||||
(package
|
||||
(name "mupen64plus-video-arachnoid")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Arachnoid video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-glide64
|
||||
(package
|
||||
(name "mupen64plus-video-glide64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-glide64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix")))
|
||||
;; XXX Should be unnecessary with the next release.
|
||||
(add-before
|
||||
'build 'use-sdl2
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("SDL_CONFIG = (.*)sdl-config" all prefix)
|
||||
(string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Glide64 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-glide64mk2
|
||||
(package
|
||||
(name "mupen64plus-video-glide64mk2")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Glide64MK2 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-rice
|
||||
(package
|
||||
(name "mupen64plus-video-rice")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-rice/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Rice Video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-z64
|
||||
(package
|
||||
(name "mupen64plus-video-z64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-z64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("glew" ,glew)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix")))
|
||||
;; XXX Should be unnecessary with the next release.
|
||||
(add-before
|
||||
'build 'use-sdl2
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("SDL_CONFIG = (.*)sdl-config" all prefix)
|
||||
(string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Z64 video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Z64 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-ui-console
|
||||
(package
|
||||
(name "mupen64plus-ui-console")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-ui-console/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2"))
|
||||
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("sdl2" ,sdl2)))
|
||||
;; Mupen64Plus supports a single data directory and a single plugin
|
||||
;; directory in its configuration, yet we need data and plugin files from
|
||||
;; a variety of packages. The best way to deal with this is to install
|
||||
;; all packages from which data and plugin files are needed into one's
|
||||
;; profile, and point the configuration there. Hence, propagate the most
|
||||
;; important packages here to save the user from the bother. The patch
|
||||
;; mupen64plus-ui-console-notice also gives users instructions on what
|
||||
;; they need to do in order to point the configuration to their profile.
|
||||
(propagated-inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("mupen64plus-audio-sdl" ,mupen64plus-audio-sdl)
|
||||
("mupen64plus-input-sdl" ,mupen64plus-input-sdl)
|
||||
("mupen64plus-rsp-hle" ,mupen64plus-rsp-hle)
|
||||
("mupen64plus-video-glide64" ,mupen64plus-video-glide64)
|
||||
("mupen64plus-video-glide64mk2" ,mupen64plus-video-glide64mk2)
|
||||
("mupen64plus-video-rice" ,mupen64plus-video-rice)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")
|
||||
;; Trailing slash matters here.
|
||||
(string-append "COREDIR=" m64p "/lib/")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
command line user interface. Installing this package is the easiest way
|
||||
towards a working Mupen64Plus for casual users.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public nestopia-ue
|
||||
(package
|
||||
(name "nestopia-ue")
|
||||
(version "1.47")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/rdanbrook/nestopia/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; We don't need libretro for the GNU/Linux build.
|
||||
(delete-file-recursively "libretro")
|
||||
;; Use system zlib.
|
||||
(delete-file-recursively "source/zlib")
|
||||
(substitute* "source/core/NstZlib.cpp"
|
||||
(("#include \"../zlib/zlib.h\"") "#include <zlib.h>"))))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("ao" ,ao)
|
||||
("glu" ,glu)
|
||||
("gtk+" ,gtk+)
|
||||
("libarchive" ,libarchive)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The Nestopia build system consists solely of a Makefile.
|
||||
(delete 'configure)
|
||||
(add-before 'build 'remove-xdg-desktop-menu-call
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("xdg-desktop-menu install .*") ""))))
|
||||
(add-before 'build 'remove-gdkwayland-include
|
||||
(lambda _
|
||||
(substitute* "source/unix/gtkui/gtkui.h"
|
||||
(("#include <gdk/gdkwayland\\.h>") "")))))
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out)))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://0ldsk00l.ca/nestopia/")
|
||||
(synopsis "Nintendo Entertainment System (NES/Famicom) emulator")
|
||||
(description
|
||||
"Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment
|
||||
System (NES/Famicom) emulator Nestopia, with enhancements from members of the
|
||||
emulation community. It provides highly accurate emulation.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public retroarch
|
||||
(package
|
||||
(name "retroarch")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libretro/RetroArch/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(etc (string-append out "/etc"))
|
||||
(vulkan (assoc-ref inputs "vulkan-icd-loader")))
|
||||
;; Hard-code the path to libvulkan.so.
|
||||
(substitute* "gfx/common/vulkan_common.c"
|
||||
(("libvulkan.so") (string-append vulkan "/lib/libvulkan.so")))
|
||||
(substitute* "qb/qb.libs.sh"
|
||||
(("/bin/true") (which "true")))
|
||||
;; The configure script does not yet accept the extra arguments
|
||||
;; (like ‘CONFIG_SHELL=’) passed by the default configure phase.
|
||||
(zero? (system*
|
||||
"./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--global-config-dir=" etc)))))))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("freetype" ,freetype)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("libxml2" ,libxml2)
|
||||
("libxv" ,libxv)
|
||||
("mesa" ,mesa)
|
||||
("openal" ,openal)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("python" ,python)
|
||||
("sdl" ,sdl2)
|
||||
("udev" ,eudev)
|
||||
("vulkan-icd-loader" ,vulkan-icd-loader)
|
||||
("wayland", wayland)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(home-page "https://www.libretro.com/")
|
||||
(synopsis "Reference frontend for the libretro API")
|
||||
(description
|
||||
"Libretro is a simple but powerful development interface that allows for
|
||||
the easy creation of emulators, games and multimedia applications that can plug
|
||||
straight into any libretro-compatible frontend. RetroArch is the official
|
||||
reference frontend for the libretro API, currently used by most as a modular
|
||||
multi-system game/emulator system.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -1619,69 +1619,6 @@ interactive fiction, also known as text adventures, which were implemented
|
|||
either by Infocom or created using the Inform compiler.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public retroarch
|
||||
(package
|
||||
(name "retroarch")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libretro/RetroArch/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(etc (string-append out "/etc"))
|
||||
(vulkan (assoc-ref inputs "vulkan-icd-loader")))
|
||||
;; Hard-code the path to libvulkan.so.
|
||||
(substitute* "gfx/common/vulkan_common.c"
|
||||
(("libvulkan.so") (string-append vulkan "/lib/libvulkan.so")))
|
||||
(substitute* "qb/qb.libs.sh"
|
||||
(("/bin/true") (which "true")))
|
||||
;; The configure script does not yet accept the extra arguments
|
||||
;; (like ‘CONFIG_SHELL=’) passed by the default configure phase.
|
||||
(zero? (system*
|
||||
"./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--global-config-dir=" etc)))))))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("freetype" ,freetype)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("libxml2" ,libxml2)
|
||||
("libxv" ,libxv)
|
||||
("mesa" ,mesa)
|
||||
("openal" ,openal)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("python" ,python)
|
||||
("sdl" ,sdl2)
|
||||
("udev" ,eudev)
|
||||
("vulkan-icd-loader" ,vulkan-icd-loader)
|
||||
("wayland", wayland)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(home-page "https://www.libretro.com/")
|
||||
(synopsis "Reference frontend for the libretro API")
|
||||
(description
|
||||
"Libretro is a simple but powerful development interface that allows for
|
||||
the easy creation of emulators, games and multimedia applications that can plug
|
||||
straight into any libretro-compatible frontend. RetroArch is the official
|
||||
reference frontend for the libretro API, currently used by most as a modular
|
||||
multi-system game/emulator system.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gnugo
|
||||
(package
|
||||
(name "gnugo")
|
||||
|
@ -1922,48 +1859,6 @@ next campaign.")
|
|||
(description "This package contains a dedicated server for @emph{The
|
||||
Battle for Wesnoth}.")))
|
||||
|
||||
(define-public dosbox
|
||||
(package
|
||||
(name "dosbox")
|
||||
(version "0.74.svn3947")
|
||||
(source (origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/")
|
||||
(revision 3947)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
;; Use SVN head, since the last release (2010) is incompatible
|
||||
;; with GCC 4.8+ (see
|
||||
;; <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624976>).
|
||||
(sha256
|
||||
(base32
|
||||
"1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'autogen.sh
|
||||
(lambda _
|
||||
(zero? (system* "sh" "autogen.sh")))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
(inputs
|
||||
`(("sdl" ,sdl)
|
||||
("libpng" ,libpng)
|
||||
("zlib" ,zlib)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("glu" ,glu)
|
||||
("mesa" ,mesa)))
|
||||
(home-page "http://www.dosbox.com")
|
||||
(synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound")
|
||||
(description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox
|
||||
also emulates CPU:286/386 realmode/protected mode, Directory
|
||||
FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a
|
||||
SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with
|
||||
older games.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public gamine
|
||||
(package
|
||||
(name "gamine")
|
||||
|
@ -2082,638 +1977,6 @@ world}, @uref{http://evolonline.org, Evol Online} and
|
|||
;; The rest is under GPL2+.
|
||||
(license (list license:gpl2+ license:zlib license:cc-by-sa4.0))))
|
||||
|
||||
(define-public mupen64plus-core
|
||||
(package
|
||||
(name "mupen64plus-core")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-core/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("glu" ,glu)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "all" (string-append "PREFIX=" out)))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
;; As per the Makefile (in projects/unix/Makefile):
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Nintendo 64 emulator core library")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
core library.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-audio-sdl
|
||||
(package
|
||||
(name "mupen64plus-audio-sdl")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
SDL audio plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-input-sdl
|
||||
(package
|
||||
(name "mupen64plus-input-sdl")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-input-sdl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)))
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
SDL input plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-rsp-hle
|
||||
(package
|
||||
(name "mupen64plus-rsp-hle")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
high-level emulation (HLE) RSP processor plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-rsp-z64
|
||||
(package
|
||||
(name "mupen64plus-rsp-z64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Z64 RSP processor plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-arachnoid
|
||||
(package
|
||||
(name "mupen64plus-video-arachnoid")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Arachnoid video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-glide64
|
||||
(package
|
||||
(name "mupen64plus-video-glide64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-glide64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix")))
|
||||
;; XXX Should be unnecessary with the next release.
|
||||
(add-before
|
||||
'build 'use-sdl2
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("SDL_CONFIG = (.*)sdl-config" all prefix)
|
||||
(string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Glide64 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-glide64mk2
|
||||
(package
|
||||
(name "mupen64plus-video-glide64mk2")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Glide64MK2 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-rice
|
||||
(package
|
||||
(name "mupen64plus-video-rice")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-rice/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Rice Video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-z64
|
||||
(package
|
||||
(name "mupen64plus-video-z64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-z64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("glew" ,glew)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix")))
|
||||
;; XXX Should be unnecessary with the next release.
|
||||
(add-before
|
||||
'build 'use-sdl2
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("SDL_CONFIG = (.*)sdl-config" all prefix)
|
||||
(string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Z64 video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Z64 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-ui-console
|
||||
(package
|
||||
(name "mupen64plus-ui-console")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-ui-console/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2"))
|
||||
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("sdl2" ,sdl2)))
|
||||
;; Mupen64Plus supports a single data directory and a single plugin
|
||||
;; directory in its configuration, yet we need data and plugin files from
|
||||
;; a variety of packages. The best way to deal with this is to install
|
||||
;; all packages from which data and plugin files are needed into one's
|
||||
;; profile, and point the configuration there. Hence, propagate the most
|
||||
;; important packages here to save the user from the bother. The patch
|
||||
;; mupen64plus-ui-console-notice also gives users instructions on what
|
||||
;; they need to do in order to point the configuration to their profile.
|
||||
(propagated-inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("mupen64plus-audio-sdl" ,mupen64plus-audio-sdl)
|
||||
("mupen64plus-input-sdl" ,mupen64plus-input-sdl)
|
||||
("mupen64plus-rsp-hle" ,mupen64plus-rsp-hle)
|
||||
("mupen64plus-video-glide64" ,mupen64plus-video-glide64)
|
||||
("mupen64plus-video-glide64mk2" ,mupen64plus-video-glide64mk2)
|
||||
("mupen64plus-video-rice" ,mupen64plus-video-rice)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")
|
||||
;; Trailing slash matters here.
|
||||
(string-append "COREDIR=" m64p "/lib/")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
command line user interface. Installing this package is the easiest way
|
||||
towards a working Mupen64Plus for casual users.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public nestopia-ue
|
||||
(package
|
||||
(name "nestopia-ue")
|
||||
(version "1.47")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/rdanbrook/nestopia/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; We don't need libretro for the GNU/Linux build.
|
||||
(delete-file-recursively "libretro")
|
||||
;; Use system zlib.
|
||||
(delete-file-recursively "source/zlib")
|
||||
(substitute* "source/core/NstZlib.cpp"
|
||||
(("#include \"../zlib/zlib.h\"") "#include <zlib.h>"))))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("ao" ,ao)
|
||||
("glu" ,glu)
|
||||
("gtk+" ,gtk+)
|
||||
("libarchive" ,libarchive)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The Nestopia build system consists solely of a Makefile.
|
||||
(delete 'configure)
|
||||
(add-before 'build 'remove-xdg-desktop-menu-call
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("xdg-desktop-menu install .*") ""))))
|
||||
(add-before 'build 'remove-gdkwayland-include
|
||||
(lambda _
|
||||
(substitute* "source/unix/gtkui/gtkui.h"
|
||||
(("#include <gdk/gdkwayland\\.h>") "")))))
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out)))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://0ldsk00l.ca/nestopia/")
|
||||
(synopsis "Nintendo Entertainment System (NES/Famicom) emulator")
|
||||
(description
|
||||
"Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment
|
||||
System (NES/Famicom) emulator Nestopia, with enhancements from members of the
|
||||
emulation community. It provides highly accurate emulation.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emulation-station
|
||||
(let ((commit "646bede3d9ec0acf0ae378415edac136774a66c5"))
|
||||
(package
|
||||
(name "emulation-station")
|
||||
(version "2.0.1")
|
||||
(source (origin
|
||||
(method git-fetch) ; no tarball available
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Aloshi/EmulationStation.git")
|
||||
(commit commit))) ; no version tag
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no tests
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("boost" ,boost)
|
||||
("curl" ,curl)
|
||||
("eigin" ,eigen)
|
||||
("freeimage" ,freeimage)
|
||||
("freetype" ,freetype)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)))
|
||||
(synopsis "Video game console emulator front-end")
|
||||
(description "EmulationStation provides a graphical front-end to a large
|
||||
number of video game console emulators. It features an interface that is
|
||||
usable with any game controller that has at least 4 buttons, theming support,
|
||||
and a game metadata scraper.")
|
||||
(home-page "http://www.emulationstation.org")
|
||||
(license license:expat))))
|
||||
|
||||
(define openttd-engine
|
||||
(package
|
||||
(name "openttd-engine")
|
||||
|
@ -3055,39 +2318,6 @@ players.")
|
|||
(home-page "http://pio.sourceforge.net/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public desmume
|
||||
(package
|
||||
(name "desmume")
|
||||
(version "0.9.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/desmume/desmume/"
|
||||
version "/desmume-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Enable support for WiFi and microphone.
|
||||
`(#:configure-flags '("--enable-wifi"
|
||||
"--enable-openal")))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)
|
||||
("sdl" ,sdl)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+-2)
|
||||
("glu" ,glu)))
|
||||
(home-page "http://desmume.org/")
|
||||
(synopsis "Nintendo DS emulator")
|
||||
(description
|
||||
"DeSmuME is an emulator for the Nintendo DS handheld gaming console.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public einstein
|
||||
(package
|
||||
(name "einstein")
|
||||
|
@ -3343,155 +2573,6 @@ Red Eclipse provides fast paced and accessible gameplay.")
|
|||
license:cc-by3.0
|
||||
license:cc0)))))
|
||||
|
||||
(define-public higan
|
||||
(package
|
||||
(name "higan")
|
||||
(version "106")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://gitlab.com/higan/higan/repository/archive.tar.gz?ref=v"
|
||||
version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0y42pra0dxzlbkyzcp3r8a39pji2bj3p9fl40425f60af2igr4rw"))
|
||||
(patches (search-patches "higan-remove-march-native-flag.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("ao" ,ao)
|
||||
("eudev" ,eudev)
|
||||
("gtk+" ,gtk+-2)
|
||||
("gtksourceview-2" ,gtksourceview-2)
|
||||
("libxv" ,libxv)
|
||||
("mesa" ,mesa)
|
||||
("openal" ,openal)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("sdl" ,sdl)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(let ((build-phase (assoc-ref %standard-phases 'build))
|
||||
(install-phase (assoc-ref %standard-phases 'install)))
|
||||
(modify-phases %standard-phases
|
||||
;; The higan build system has no configure phase.
|
||||
(delete 'configure)
|
||||
(add-before 'build 'chdir-to-higan
|
||||
(lambda _
|
||||
(chdir "higan")))
|
||||
(add-before 'install 'create-/share/applications
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; It seems the author forgot to do this in the Makefile.
|
||||
(mkdir-p (string-append out "/share/applications")))))
|
||||
(add-after 'install 'chdir-to-icarus
|
||||
(lambda _
|
||||
(chdir "../icarus")))
|
||||
(add-after 'chdir-to-icarus 'build-icarus build-phase)
|
||||
(add-after 'build-icarus 'install-icarus install-phase)
|
||||
(add-after 'install-icarus 'wrap-higan-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(higan (string-append bin "/higan"))
|
||||
(higan-original (string-append higan "-original"))
|
||||
(bash (string-append (assoc-ref inputs "bash")
|
||||
"/bin/bash"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(mkdir (string-append coreutils "/bin/mkdir"))
|
||||
(cp (string-append coreutils "/bin/cp"))
|
||||
(cp-r (string-append cp " -r --no-preserve=mode")))
|
||||
;; First, have the executable make sure ~/.local/share/higan
|
||||
;; contains up to date files. Higan insists on looking there
|
||||
;; for these data files.
|
||||
(rename-file higan higan-original)
|
||||
(with-output-to-file higan
|
||||
(lambda ()
|
||||
(display
|
||||
(string-append
|
||||
"#!" bash "\n"
|
||||
;; higan doesn't respect $XDG_DATA_HOME
|
||||
mkdir " -p ~/.local/share\n"
|
||||
cp-r " " out "/share/higan ~/.local/share\n"
|
||||
"exec " higan-original))))
|
||||
(chmod higan #o555)
|
||||
;; Second, make sure higan will find icarus in PATH.
|
||||
(wrap-program higan
|
||||
`("PATH" ":" prefix (,bin))))))))
|
||||
#:make-flags
|
||||
(list "compiler=g++"
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
;; There is no test suite.
|
||||
#:tests? #f))
|
||||
(home-page "http://byuu.org/emulation/higan/")
|
||||
(synopsis "Nintendo multi-system emulator")
|
||||
(description
|
||||
"higan (formerly bsnes) is an emulator for multiple Nintendo video game
|
||||
consoles, including the Nintendo Entertainment System (NES/Famicom), Super
|
||||
Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy
|
||||
Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems
|
||||
Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
|
||||
;; As noted in these files among more:
|
||||
;; - icarus/icarus.cpp
|
||||
;; - higan/emulator/emulator.hpp
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public mgba
|
||||
(package
|
||||
(name "mgba")
|
||||
(version "0.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mgba-emu/mgba/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Make sure we don't use the bundled software.
|
||||
'(for-each
|
||||
(lambda (subdir)
|
||||
(let ((lib-subdir (string-append "src/third-party/" subdir)))
|
||||
(delete-file-recursively lib-subdir)))
|
||||
'("libpng" "lzma" "sqlite3" "zlib")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no "test" target
|
||||
#:configure-flags
|
||||
(list "-DUSE_LZMA=OFF" ;do not use bundled LZMA
|
||||
"-DUSE_LIBZIP=OFF" ;use "zlib" instead
|
||||
(string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
(assoc-ref %outputs "out") "/lib"))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("ffmpeg" ,ffmpeg)
|
||||
("imagemagick" ,imagemagick)
|
||||
("libedit" ,libedit)
|
||||
("libepoxy" ,libepoxy)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("minizip" ,minizip)
|
||||
("ncurses" ,ncurses)
|
||||
("qtbase" ,qtbase)
|
||||
("qtmultimedia" ,qtmultimedia)
|
||||
("qttools" ,qttools)
|
||||
("sdl2" ,sdl2)
|
||||
("sqlite" ,sqlite)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://mgba.io")
|
||||
(synopsis "Game Boy Advance emulator")
|
||||
(description
|
||||
"mGBA is an emulator for running Game Boy Advance games. It aims to be
|
||||
faster and more accurate than many existing Game Boy Advance emulators, as
|
||||
well as adding features that other emulators lack. It also supports Game Boy
|
||||
and Game Boy Color games.")
|
||||
;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+ and "inih.c" is
|
||||
;; BSD-3.
|
||||
(license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3))))
|
||||
|
||||
(define-public grue-hunter
|
||||
(package
|
||||
(name "grue-hunter")
|
||||
|
|
Loading…
Reference in New Issue