From 9af704c59cfbffd021f0e7420a57f7f2ed6c8c07 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 22 Feb 2018 12:04:14 +0100 Subject: 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. --- gnu/packages/games.scm | 919 ------------------------------------------------- 1 file changed, 919 deletions(-) (limited to 'gnu/packages/games.scm') diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 0ac7d992c9..a7c77a44a6 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -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 - ;; ). - (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 ")))))) - (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 ") ""))))) - #: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") -- cgit v1.2.3