diff options
| author | Andrew Wong <wongandj@icloud.com> | 2025-01-04 10:54:33 -0500 |
|---|---|---|
| committer | 宋文武 <iyzsong@member.fsf.org> | 2025-01-12 14:18:03 +0800 |
| commit | a9a13ebccc1479e334630a811cec255eab0abe00 (patch) | |
| tree | 25f9a7653cf3c6f29f3eaa58c715a086c34f4c59 /gnu/packages/emulators.scm | |
| parent | e74040b73cd38467e886ed9e2f1e1b351d13c2f2 (diff) | |
gnu: Add libretro-beetle-psx.
* gnu/packages/emulators.scm (make-libretro-beetle-psx): New procedure.
(libretro-beetle-psx, libretro-beetle-psx-hw): New variables.
Change-Id: I7d5bb2783a5952e00014f18eaf8e436e889ef77b
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
Diffstat (limited to 'gnu/packages/emulators.scm')
| -rw-r--r-- | gnu/packages/emulators.scm | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index f5734571362..9e2d6485dd8 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm | |||
| @@ -1463,6 +1463,58 @@ System (NES/Famicom) emulator Nestopia, with enhancements from members of the | |||
| 1463 | emulation community. It provides highly accurate emulation.") | 1463 | emulation community. It provides highly accurate emulation.") |
| 1464 | (license license:gpl2+))) | 1464 | (license license:gpl2+))) |
| 1465 | 1465 | ||
| 1466 | (define (make-libretro-beetle-psx name hw) | ||
| 1467 | (let ((commit "80d3eba272cf6efab6b76e4dc44ea2834c6f910d") | ||
| 1468 | (revision "0")) | ||
| 1469 | (package | ||
| 1470 | (name name) | ||
| 1471 | ;; Use Mednafen core version as base. Defined in libretro_options.h:10 | ||
| 1472 | (version (git-version "0.9.44.1" revision commit)) | ||
| 1473 | (source | ||
| 1474 | (origin | ||
| 1475 | (method git-fetch) | ||
| 1476 | (uri (git-reference | ||
| 1477 | (url "https://github.com/libretro/beetle-psx-libretro") | ||
| 1478 | (commit commit))) | ||
| 1479 | (file-name (git-file-name name version)) | ||
| 1480 | (sha256 | ||
| 1481 | (base32 "14kkrlqhv9pqmbqlv8vvcp0ps938dmg8pk47d7zzc8piq51hkawk")))) | ||
| 1482 | (build-system gnu-build-system) | ||
| 1483 | (arguments | ||
| 1484 | (list #:make-flags #~(list (string-append "HAVE_HW=" #$(if hw "1" "0")) | ||
| 1485 | (string-append "CC=" #$(cc-for-target)) | ||
| 1486 | (string-append "GIT_VERSION=" #$commit) | ||
| 1487 | (string-append "prefix=" #$output)) | ||
| 1488 | #:tests? #f ;no tests | ||
| 1489 | #:phases #~(modify-phases %standard-phases | ||
| 1490 | (delete 'configure) | ||
| 1491 | (replace 'install ;there is no install target | ||
| 1492 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 1493 | (let* ((libretro (string-append | ||
| 1494 | (assoc-ref outputs "out") | ||
| 1495 | "/lib/libretro"))) | ||
| 1496 | (install-file (string-append "mednafen_psx_" | ||
| 1497 | #$(if hw "hw_" "") | ||
| 1498 | "libretro.so") | ||
| 1499 | libretro))))))) | ||
| 1500 | (inputs (list mesa)) | ||
| 1501 | (home-page "https://github.com/libretro/beetle-psx-libretro") | ||
| 1502 | (synopsis "Standalone port of Mednafen PSX to libretro") | ||
| 1503 | (description | ||
| 1504 | "Beetle PSX is a port/fork of Mednafen's PSX module to the libretro | ||
| 1505 | API. Additional features include PBP/CHD file format support, | ||
| 1506 | high-resolution software rendering, OpenGL and Vulkan renderers, and | ||
| 1507 | PGXP perspective correct texturing. For those seeking improved visuals | ||
| 1508 | and performance, Beetle PSX HW provides a hardware-accelerated alternative | ||
| 1509 | with its OpenGL and Vulkan renderer.") | ||
| 1510 | (license license:gpl2+)))) | ||
| 1511 | |||
| 1512 | (define-public libretro-beetle-psx | ||
| 1513 | (make-libretro-beetle-psx "libretro-beetle-psx" #f)) | ||
| 1514 | |||
| 1515 | (define-public libretro-beetle-psx-hw | ||
| 1516 | (make-libretro-beetle-psx "libretro-beetle-psx-hw" #t)) | ||
| 1517 | |||
| 1466 | (define-public libretro-lowresnx | 1518 | (define-public libretro-lowresnx |
| 1467 | (package | 1519 | (package |
| 1468 | (name "libretro-lowresnx") | 1520 | (name "libretro-lowresnx") |
