diff options
| author | Maxim Cournoyer <maxim@guixotic.coop> | 2025-08-10 21:32:11 +0900 |
|---|---|---|
| committer | Hilton Chain <hako@ultrarare.space> | 2025-08-24 10:24:53 +0800 |
| commit | 96ccecfa0236cf6e696596e3703e5d3afa89de24 (patch) | |
| tree | cd5143d694f046f0001e3109832daf94f3b18d82 | |
| parent | 099ab02079f82b9d61c0d722c26895e514489899 (diff) | |
nongnu: Add libretro-genesis-plus-gx.
* nongnu/packages/emulators.scm (libretro-genesis-plus-gx): New variable.
Signed-off-by: Hilton Chain <hako@ultrarare.space>
| -rw-r--r-- | nongnu/packages/emulators.scm | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/nongnu/packages/emulators.scm b/nongnu/packages/emulators.scm index 5dade3b..b66f50a 100644 --- a/nongnu/packages/emulators.scm +++ b/nongnu/packages/emulators.scm | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | ;;; SPDX-License-Identifier: GPL-3.0-or-later | 1 | ;;; SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> | 2 | ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> |
| 3 | ;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop> | ||
| 3 | 4 | ||
| 4 | (define-module (nongnu packages emulators) | 5 | (define-module (nongnu packages emulators) |
| 5 | #:use-module (gnu packages backup) | 6 | #:use-module (gnu packages backup) |
| @@ -7,8 +8,11 @@ | |||
| 7 | #:use-module (gnu packages sdl) | 8 | #:use-module (gnu packages sdl) |
| 8 | #:use-module (guix build-system gnu) | 9 | #:use-module (guix build-system gnu) |
| 9 | #:use-module (guix download) | 10 | #:use-module (guix download) |
| 11 | #:use-module (guix gexp) | ||
| 12 | #:use-module (guix git-download) | ||
| 10 | #:use-module ((guix licenses) #:prefix license:) | 13 | #:use-module ((guix licenses) #:prefix license:) |
| 11 | #:use-module (guix packages) | 14 | #:use-module (guix packages) |
| 15 | #:use-module (guix utils) | ||
| 12 | #:use-module (nonguix licenses)) | 16 | #:use-module (nonguix licenses)) |
| 13 | 17 | ||
| 14 | (define-public dgen | 18 | (define-public dgen |
| @@ -38,3 +42,76 @@ compatible. It's also perfect for command line freaks.") | |||
| 38 | (license (list license:bsd-3 | 42 | (license (list license:bsd-3 |
| 39 | ;; Many non-free licenses. | 43 | ;; Many non-free licenses. |
| 40 | (nonfree "https://sourceforge.net/p/dgen/dgen/ci/master/tree/COPYING"))))) | 44 | (nonfree "https://sourceforge.net/p/dgen/dgen/ci/master/tree/COPYING"))))) |
| 45 | |||
| 46 | (define-public libretro-genesis-plus-gx | ||
| 47 | ;; There is no release nor tags: use the latest commit. | ||
| 48 | (let ((commit "a80e3b3b957d38961e274aa4da450245ddc63fe8") | ||
| 49 | (revision "0")) | ||
| 50 | (package | ||
| 51 | (name "libretro-genesis-plus-gx") | ||
| 52 | (version (git-version "0" revision commit)) | ||
| 53 | (source (origin | ||
| 54 | (method git-fetch) | ||
| 55 | (uri (git-reference | ||
| 56 | (url "https://github.com/ekeeke/Genesis-Plus-GX") | ||
| 57 | (commit commit))) | ||
| 58 | (file-name (git-file-name name version)) | ||
| 59 | (sha256 | ||
| 60 | (base32 | ||
| 61 | "0iqsbxw00mqc2hf0jw1v6qzccf5b40d6q1a7vv5bdi3i260py6i0")))) | ||
| 62 | (build-system gnu-build-system) | ||
| 63 | (arguments | ||
| 64 | (list | ||
| 65 | #:tests? #f ;no test suite | ||
| 66 | #:make-flags | ||
| 67 | #~(list "-f" "Makefile.libretro" | ||
| 68 | (string-append "GIT_VERSION=" #$version) | ||
| 69 | (string-append "CC=" #$(cc-for-target))) | ||
| 70 | #:phases | ||
| 71 | #~(modify-phases %standard-phases | ||
| 72 | (delete 'configure) ;no configure script | ||
| 73 | (replace 'install | ||
| 74 | (lambda _ | ||
| 75 | (install-file "genesis_plus_gx_libretro.so" | ||
| 76 | (string-append #$output "/lib/libretro")) | ||
| 77 | (invoke "find" "-executable" "-name" "*.so")))))) | ||
| 78 | (home-page "https://github.com/ekeeke/Genesis-Plus-GX") | ||
| 79 | (synopsis "Accurate Sega 8/16 bit emulator") | ||
| 80 | (description "This is the Libretro port of Genesis Plus GX, a SG-1000, | ||
| 81 | Mark-III, Master System (I & II), Game Gear, Genesis/Mega Drive and Sega/Mega | ||
| 82 | CD emulator. It was originally based on Genesis Plus, from which it improves | ||
| 83 | emulation accuracy and adds support for new peripherals, cartridges and | ||
| 84 | features such as: | ||
| 85 | @itemize | ||
| 86 | @item | ||
| 87 | NTSC (60Hz) and PAL (50Hz) video hardware emulation | ||
| 88 | @item | ||
| 89 | accurate 68000, Z80 CPU emulation and synchronization | ||
| 90 | @item | ||
| 91 | accurate VDP emulation and timings | ||
| 92 | @item | ||
| 93 | sample-accurate YM2612,YM2413, SN76489 and RF5C164 PCM sound chips emulation | ||
| 94 | @item | ||
| 95 | cycle-accurate sound chips synchronization with 68000/Z80 CPU | ||
| 96 | @item | ||
| 97 | cycle-accurate 68000 and Z80 CPU synchronization | ||
| 98 | @item | ||
| 99 | optimized Main-CPU / Sub-CPU synchronization (Sega/Mega CD) | ||
| 100 | @item | ||
| 101 | accurate CDD, CDC and GFX chip emulation (Sega/Mega CD) | ||
| 102 | @item | ||
| 103 | accurate CD-DA fader emulation (Sega/Mega CD) | ||
| 104 | @item | ||
| 105 | Mode 1 cartridge support (Sega/Mega CD) | ||
| 106 | @item | ||
| 107 | Audio CD and CD+G support (Sega/Mega CD) | ||
| 108 | @item | ||
| 109 | high-quality audio resampling using Blip Buffer | ||
| 110 | @item | ||
| 111 | basic hardware latency emulation (VDP/68k, Z80/68k) | ||
| 112 | @item | ||
| 113 | full overscan area emulation (horizontal and vertical color borders) | ||
| 114 | @end itemize") | ||
| 115 | ;; Redistributable but has a non-commercial clause, so does not meet the | ||
| 116 | ;; GNU FSDG requirements. | ||
| 117 | (license (nonfree "file://LICENSE.txt"))))) | ||
