aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/emulators.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emulators.scm')
-rw-r--r--gnu/packages/emulators.scm106
1 files changed, 101 insertions, 5 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index f6da7f2d25..72a9b6e40d 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -9,6 +9,8 @@
;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +28,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages emulators)
+ #:use-module (ice-9 match)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -39,6 +42,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages backup)
+ #:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
@@ -82,6 +86,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages web)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu))
(define-public desmume
@@ -161,7 +166,7 @@
(string-append (assoc-ref inputs "vulkan-loader")
"/lib/libvulkan.so")))
(chdir "docs")
- (invoke "bash" "-c" "g++ -O2 -std=c++11 $(freetype-config \
+ (invoke "bash" "-c" "g++ -O2 $(freetype-config \
--cflags --libs) gc-font-tool.cpp -o gc-font-tool")
(invoke "./gc-font-tool" "a" fontfile "font_western.bin")
(invoke "./gc-font-tool" "s" fontfile "font_japanese.bin")
@@ -1048,7 +1053,7 @@ emulation community. It provides highly accurate emulation.")
(define-public retroarch
(package
(name "retroarch")
- (version "1.7.8.4")
+ (version "1.8.1")
(source
(origin
(method git-fetch)
@@ -1057,7 +1062,7 @@ emulation community. It provides highly accurate emulation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1i3i23xwvmck8k2fpalr49np7xjzfg507243mybqrljawlnbxvph"))))
+ (base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -1183,7 +1188,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
- (version "0.214")
+ (version "0.215")
(source
(origin
(method git-fetch)
@@ -1193,7 +1198,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
- "129yk3ybcviscy2xk1mkkzxm4h4nh5p6ndfgqbmcx547p1s6hbja"))
+ "1fj2qahi0fpn41zxph06wdgjashy6vsgj0gqfly8hvcmv99r3d65"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
@@ -1366,3 +1371,94 @@ functions. The source code to MAME serves as this documentation.")
;; However, over 90% of the files are under Expat license. Also, artwork,
;; keymaps, languages and samples are under CC0.
(license (list license:gpl2+ license:expat license:cc0))))
+
+(define-public pcsxr
+ ;; No release since 2017.
+ (let ((commit "6484236cb0281e8040ff6c8078c87899a3407534"))
+ (package
+ (name "pcsxr")
+ ;; Version is tagged here: https://github.com/frealgagu/PCSX-Reloaded
+ (version "1.9.95")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pcsxr/PCSX-Reloaded")
+ (commit commit)))
+ (sha256
+ (base32
+ "138mayp7zi9v4l3lm5f6xxkds619w1fgg769zm8s45c84jbz7dza"))
+ (file-name (git-file-name name commit))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no "test" target
+ #:configure-flags
+ (list "-DSND_BACKEND=pulse"
+ "-DENABLE_CCDDA='ON'"
+ "-DUSE_LIBARCHIVE='ON'"
+ "-DUSE_LIBCDIO='ON'")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'cd-subdir
+ (lambda _ (chdir "pcsxr")))
+ (add-before 'configure 'fix-cdio-lookup
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cmake/FindCdio.cmake"
+ (("/usr/include/cdio")
+ (string-append (assoc-ref inputs "libcdio") "/include/cdio"))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)
+ ("glib" ,glib "bin")))
+ (inputs
+ `(("libcdio" ,libcdio)
+ ("sdl2" ,sdl2)
+ ("gtk+" ,gtk+)
+ ("ffmpeg" ,ffmpeg)
+ ("libxv" ,libxv)
+ ("libarchive" ,libarchive)
+ ("pulseaudio" ,pulseaudio)))
+ (home-page "https://archive.codeplex.com/?p=pcsxr")
+ (synopsis "PlayStation emulator")
+ (description
+ "A PlayStation emulator based on PCSX-df Project with bugfixes and
+improvements.")
+ (license license:gpl2+))))
+
+(define-public gens-gs
+ (package
+ (name "gens-gs")
+ (version "7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://retrocdn.net/images/6/6d/Gens-gs-r"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ha5s6d3y7s9aq9f4zmn9p88109c3mrj36z2w68jhiw5xrxws833"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ `(#:system "i686-linux"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-CFLAGS
+ (lambda* _
+ ;; Remove GTK API deprecation flags that cause build errors.
+ (substitute* "configure"
+ (("GTK_CFLAGS=\"\\$GTK_CFLAGS .*\"") ""))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("nasm" ,nasm)))
+ (inputs
+ `(("sdl" ,sdl)
+ ("gtk" ,gtk+-2)))
+ (home-page "https://segaretro.org/Gens/GS")
+ (synopsis "Emulator for Sega Genesis/Mega Drive systems")
+ (description
+ "Gens/GS is an emulator for the Mega Drive (also known as Sega Genesis),
+derived from Gens. Project goals include clean source code, combined features
+from various forks of Gens, and improved platform portability.")
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (license license:gpl2+)))