diff options
| author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2025-01-17 11:48:24 +0900 |
|---|---|---|
| committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2025-01-26 22:59:59 +0900 |
| commit | cab1bff5f1f7a4e6d4907a299017004a2c2cf7b5 (patch) | |
| tree | dba7ba7dba57b6e691a55ebe0d507fe8e05d8811 /gnu/packages/emulators.scm | |
| parent | 8d5ae4b0c869a8bad3f1b0bc8d3542969c0fc788 (diff) | |
gnu: retroarch-minimal: Update to 1.20.0.
* gnu/packages/emulators.scm (retroarch-minimal): Update to 1.20.0.
Reviewed-by: Sou Bunnbu (宋文武) <iyzsong@member.fsf.org>
Change-Id: I3b4121d2520ee08a9d8454f2666ed30c140ced5b
Diffstat (limited to 'gnu/packages/emulators.scm')
| -rw-r--r-- | gnu/packages/emulators.scm | 344 |
1 files changed, 171 insertions, 173 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index aa03f0550ca..bb73d216a5a 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm | |||
| @@ -2537,185 +2537,183 @@ GLSL (@file{.slang}) shaders for use with RetroArch.") | |||
| 2537 | license:unlicense))))) | 2537 | license:unlicense))))) |
| 2538 | 2538 | ||
| 2539 | (define-public retroarch-minimal | 2539 | (define-public retroarch-minimal |
| 2540 | (let ((commit "48b71d5cf8a070e785e2302d8fe241a7c2180fdd") | 2540 | (package |
| 2541 | (revision "1")) | 2541 | (name "retroarch-minimal") |
| 2542 | (package | 2542 | (version "1.20.0") |
| 2543 | (name "retroarch-minimal") | 2543 | (source |
| 2544 | (version "1.19.1") | 2544 | (origin |
| 2545 | (source | 2545 | (method git-fetch) |
| 2546 | (origin | 2546 | (uri (git-reference |
| 2547 | (method git-fetch) | 2547 | (url "https://github.com/libretro/RetroArch") |
| 2548 | (uri (git-reference | 2548 | (commit (string-append "v" version)))) |
| 2549 | (url "https://github.com/libretro/RetroArch") | 2549 | (snippet |
| 2550 | (commit commit))) | 2550 | #~(begin |
| 2551 | (snippet | 2551 | (use-modules (guix build utils) |
| 2552 | #~(begin | 2552 | (ice-9 ftw) |
| 2553 | (use-modules (guix build utils) | 2553 | (srfi srfi-26)) |
| 2554 | (ice-9 ftw) | 2554 | ;; XXX: 'delete-all-but' is copied from the turbovnc package. |
| 2555 | (srfi srfi-26)) | 2555 | (define (delete-all-but directory . preserve) |
| 2556 | ;; XXX: 'delete-all-but' is copied from the turbovnc package. | 2556 | (define (directory? x) |
| 2557 | (define (delete-all-but directory . preserve) | 2557 | (and=> (stat x #f) |
| 2558 | (define (directory? x) | 2558 | (compose (cut eq? 'directory <>) stat:type))) |
| 2559 | (and=> (stat x #f) | 2559 | (with-directory-excursion directory |
| 2560 | (compose (cut eq? 'directory <>) stat:type))) | 2560 | (let* ((pred |
| 2561 | (with-directory-excursion directory | 2561 | (negate (cut member <> (append '("." "..") preserve)))) |
| 2562 | (let* ((pred | 2562 | (items (scandir "." pred))) |
| 2563 | (negate (cut member <> (append '("." "..") preserve)))) | 2563 | (for-each (lambda (item) |
| 2564 | (items (scandir "." pred))) | 2564 | (if (directory? item) |
| 2565 | (for-each (lambda (item) | 2565 | (delete-file-recursively item) |
| 2566 | (if (directory? item) | 2566 | (delete-file item))) |
| 2567 | (delete-file-recursively item) | 2567 | items)))) |
| 2568 | (delete-file item))) | 2568 | ;; Remove as much bundled sources as possible, shaving off about |
| 2569 | items)))) | 2569 | ;; 65 MiB. |
| 2570 | ;; Remove as much bundled sources as possible, shaving off about | 2570 | (delete-all-but "deps" |
| 2571 | ;; 65 MiB. | 2571 | "feralgamemode" ;used in platform_unix.c |
| 2572 | (delete-all-but "deps" | 2572 | "mbedtls" ;further refined below |
| 2573 | "feralgamemode" ;used in platform_unix.c | 2573 | "yxml") ;used in rxml.c |
| 2574 | "mbedtls" ;further refined below | 2574 | ;; This is an old root certificate used in net_socket_ssl_mbed.c, |
| 2575 | "yxml") ;used in rxml.c | 2575 | ;; not actually from mbedtls. |
| 2576 | ;; This is an old root certificate used in net_socket_ssl_mbed.c, | 2576 | (delete-all-but "deps/mbedtls" "cacert.h"))) |
| 2577 | ;; not actually from mbedtls. | 2577 | (patches (search-patches "retroarch-improved-search-paths.patch" |
| 2578 | (delete-all-but "deps/mbedtls" "cacert.h"))) | 2578 | "retroarch-unbundle-spirv-cross.patch")) |
| 2579 | (patches (search-patches "retroarch-improved-search-paths.patch" | 2579 | (file-name (git-file-name name version)) |
| 2580 | "retroarch-unbundle-spirv-cross.patch")) | 2580 | (sha256 |
| 2581 | (file-name (git-file-name name version)) | 2581 | (base32 "0yc16j3g2g0if64xqd7qr4dza8rw10x0zypwbl92y735825p87qi")))) |
| 2582 | (sha256 | 2582 | (build-system gnu-build-system) |
| 2583 | (base32 "13hgg4pxkpwlcmmyp9npr9k9cb94waqiyjpy2jzs8m9rc7xl2ap9")))) | 2583 | (arguments |
| 2584 | (build-system gnu-build-system) | 2584 | (list |
| 2585 | (arguments | 2585 | #:tests? #f ; no tests |
| 2586 | (list | 2586 | #:phases |
| 2587 | #:tests? #f ; no tests | 2587 | #~(modify-phases %standard-phases |
| 2588 | #:phases | 2588 | (replace 'configure |
| 2589 | #~(modify-phases %standard-phases | 2589 | (lambda* (#:key inputs #:allow-other-keys) |
| 2590 | (replace 'configure | 2590 | ;; Hard-code some store file names. |
| 2591 | (lambda* (#:key inputs #:allow-other-keys) | 2591 | (substitute* "gfx/common/vulkan_common.c" |
| 2592 | ;; Hard-code some store file names. | 2592 | (("libvulkan.so") |
| 2593 | (substitute* "gfx/common/vulkan_common.c" | 2593 | (search-input-file inputs "lib/libvulkan.so"))) |
| 2594 | (("libvulkan.so") | 2594 | (substitute* "gfx/common/wayland/generate_wayland_protos.sh" |
| 2595 | (search-input-file inputs "lib/libvulkan.so"))) | 2595 | (("/usr/local/share/wayland-protocols") |
| 2596 | (substitute* "gfx/common/wayland/generate_wayland_protos.sh" | 2596 | (search-input-directory inputs "share/wayland-protocols"))) |
| 2597 | (("/usr/local/share/wayland-protocols") | ||
| 2598 | (search-input-directory inputs "share/wayland-protocols"))) | ||
| 2599 | 2597 | ||
| 2600 | ;; Without HLSL, we can still enable GLSLANG and Vulkan support. | 2598 | ;; Without HLSL, we can still enable GLSLANG and Vulkan support. |
| 2601 | (substitute* "qb/config.libs.sh" | 2599 | (substitute* "qb/config.libs.sh" |
| 2602 | (("[$]HAVE_GLSLANG_HLSL") "notcare")) | 2600 | (("[$]HAVE_GLSLANG_HLSL") "notcare")) |
| 2603 | 2601 | ||
| 2604 | ;; The configure script does not yet accept the extra arguments | 2602 | ;; The configure script does not yet accept the extra arguments |
| 2605 | ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. | 2603 | ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. |
| 2606 | (invoke | 2604 | (invoke |
| 2607 | "./configure" | 2605 | "./configure" |
| 2608 | #$@(if (string-prefix? "armhf" (or (%current-target-system) | 2606 | #$@(if (string-prefix? "armhf" (or (%current-target-system) |
| 2609 | (%current-system))) | 2607 | (%current-system))) |
| 2610 | '("--enable-neon" "--enable-floathard") | 2608 | '("--enable-neon" "--enable-floathard") |
| 2611 | '()) | 2609 | '()) |
| 2612 | (string-append "--prefix=" #$output) | 2610 | (string-append "--prefix=" #$output) |
| 2613 | ;; D-Bus support is required for 'suspend screensaver' option | 2611 | ;; D-Bus support is required for 'suspend screensaver' option |
| 2614 | ;; to work. | 2612 | ;; to work. |
| 2615 | "--enable-dbus" | 2613 | "--enable-dbus" |
| 2616 | ;; Non-free software are available through the core updater, | 2614 | ;; Non-free software are available through the core updater, |
| 2617 | ;; disable it. See <https://issues.guix.gnu.org/38360>. | 2615 | ;; disable it. See <https://issues.guix.gnu.org/38360>. |
| 2618 | "--disable-update_cores" | 2616 | "--disable-update_cores" |
| 2619 | "--disable-update_core_info" | 2617 | "--disable-update_core_info" |
| 2620 | "--disable-online_updater" | 2618 | "--disable-online_updater" |
| 2621 | ;; The assets are provided via the `retroarch-assets' package. | 2619 | ;; The assets are provided via the `retroarch-assets' package. |
| 2622 | "--disable-update_assets" | 2620 | "--disable-update_assets" |
| 2623 | "--disable-builtinmbedtls" | 2621 | "--disable-builtinmbedtls" |
| 2624 | "--disable-builtinbearssl" | 2622 | "--disable-builtinbearssl" |
| 2625 | "--disable-builtinzlib" | 2623 | "--disable-builtinzlib" |
| 2626 | "--disable-builtinflac" | 2624 | "--disable-builtinflac" |
| 2627 | "--disable-builtinglslang" | 2625 | "--disable-builtinglslang" |
| 2628 | "--disable-builtinspirv_cross" | 2626 | "--disable-builtinspirv_cross" |
| 2629 | ;; These are disabled to avoid requiring the bundled | 2627 | ;; These are disabled to avoid requiring the bundled |
| 2630 | ;; dependencies. | 2628 | ;; dependencies. |
| 2631 | "--disable-7zip" | 2629 | "--disable-7zip" |
| 2632 | "--disable-cheevos" | 2630 | "--disable-cheevos" |
| 2633 | "--disable-crtswitchres" | 2631 | "--disable-crtswitchres" |
| 2634 | "--disable-discord" | 2632 | "--disable-discord" |
| 2635 | "--disable-dr_mp3" | 2633 | "--disable-dr_mp3" |
| 2636 | "--disable-ibxm" | 2634 | "--disable-ibxm" |
| 2637 | "--disable-stb_font" | 2635 | "--disable-stb_font" |
| 2638 | "--disable-stb_image" | 2636 | "--disable-stb_image" |
| 2639 | "--disable-stb_vorbis" | 2637 | "--disable-stb_vorbis" |
| 2640 | "--disable-xdelta")))))) | 2638 | "--disable-xdelta")))))) |
| 2641 | (native-inputs | 2639 | (native-inputs |
| 2642 | (list pkg-config | 2640 | (list pkg-config |
| 2643 | wayland-protocols | 2641 | wayland-protocols |
| 2644 | which)) | 2642 | which)) |
| 2645 | (inputs | 2643 | (inputs |
| 2646 | (list alsa-lib | 2644 | (list alsa-lib |
| 2647 | dbus | 2645 | dbus |
| 2648 | eudev | 2646 | eudev |
| 2649 | ffmpeg | 2647 | ffmpeg |
| 2650 | flac | 2648 | flac |
| 2651 | fontconfig | 2649 | fontconfig |
| 2652 | freetype | 2650 | freetype |
| 2653 | glslang | 2651 | glslang |
| 2654 | libxinerama | 2652 | libxinerama |
| 2655 | libxkbcommon | 2653 | libxkbcommon |
| 2656 | libxml2 | 2654 | libxml2 |
| 2657 | libxrandr | 2655 | libxrandr |
| 2658 | libxv | 2656 | libxv |
| 2659 | mbedtls-lts | 2657 | mbedtls-lts |
| 2660 | mesa | 2658 | mesa |
| 2661 | openal | 2659 | openal |
| 2662 | openssl | 2660 | openssl |
| 2663 | pulseaudio | 2661 | pulseaudio |
| 2664 | python | 2662 | python |
| 2665 | qtbase-5 | 2663 | qtbase-5 |
| 2666 | sdl2 | 2664 | sdl2 |
| 2667 | spirv-cross | 2665 | spirv-cross |
| 2668 | spirv-headers | 2666 | spirv-headers |
| 2669 | spirv-tools | 2667 | spirv-tools |
| 2670 | v4l-utils | 2668 | v4l-utils |
| 2671 | vulkan-loader | 2669 | vulkan-loader |
| 2672 | wayland | 2670 | wayland |
| 2673 | zlib)) | 2671 | zlib)) |
| 2674 | (native-search-paths | 2672 | (native-search-paths |
| 2675 | (list (search-path-specification | 2673 | (list (search-path-specification |
| 2676 | (variable "LIBRETRO_DIRECTORY") | 2674 | (variable "LIBRETRO_DIRECTORY") |
| 2677 | (separator #f) ;single entry | 2675 | (separator #f) ;single entry |
| 2678 | (files '("lib/libretro"))) | 2676 | (files '("lib/libretro"))) |
| 2679 | (search-path-specification | 2677 | (search-path-specification |
| 2680 | (variable "LIBRETRO_ASSETS_DIRECTORY") | 2678 | (variable "LIBRETRO_ASSETS_DIRECTORY") |
| 2681 | (separator #f) ;single entry | 2679 | (separator #f) ;single entry |
| 2682 | (files '("share/libretro/assets"))) | 2680 | (files '("share/libretro/assets"))) |
| 2683 | (search-path-specification | 2681 | (search-path-specification |
| 2684 | (variable "LIBRETRO_AUTOCONFIG_DIRECTORY") | 2682 | (variable "LIBRETRO_AUTOCONFIG_DIRECTORY") |
| 2685 | (separator #f) ;single entry | 2683 | (separator #f) ;single entry |
| 2686 | (files '("share/libretro/autoconfig"))) | 2684 | (files '("share/libretro/autoconfig"))) |
| 2687 | (search-path-specification | 2685 | (search-path-specification |
| 2688 | (variable "LIBRETRO_CHEATS_DIRECTORY") | 2686 | (variable "LIBRETRO_CHEATS_DIRECTORY") |
| 2689 | (separator #f) ;single entry | 2687 | (separator #f) ;single entry |
| 2690 | (files '("share/libretro/database/cht"))) | 2688 | (files '("share/libretro/database/cht"))) |
| 2691 | (search-path-specification | 2689 | (search-path-specification |
| 2692 | (variable "LIBRETRO_DATABASE_DIRECTORY") | 2690 | (variable "LIBRETRO_DATABASE_DIRECTORY") |
| 2693 | (separator #f) ;single entry | 2691 | (separator #f) ;single entry |
| 2694 | (files '("share/libretro/database/rdb"))) | 2692 | (files '("share/libretro/database/rdb"))) |
| 2695 | (search-path-specification | 2693 | (search-path-specification |
| 2696 | (variable "LIBRETRO_SYSTEM_DIRECTORY") | 2694 | (variable "LIBRETRO_SYSTEM_DIRECTORY") |
| 2697 | (separator #f) ;single entry | 2695 | (separator #f) ;single entry |
| 2698 | (files '("share/libretro/system"))) | 2696 | (files '("share/libretro/system"))) |
| 2699 | (search-path-specification | 2697 | (search-path-specification |
| 2700 | (variable "LIBRETRO_VIDEO_FILTER_DIRECTORY") | 2698 | (variable "LIBRETRO_VIDEO_FILTER_DIRECTORY") |
| 2701 | (separator #f) ;single entry | 2699 | (separator #f) ;single entry |
| 2702 | (files '("share/libretro/filters/video"))) | 2700 | (files '("share/libretro/filters/video"))) |
| 2703 | (search-path-specification | 2701 | (search-path-specification |
| 2704 | (variable "LIBRETRO_VIDEO_SHADER_DIRECTORY") | 2702 | (variable "LIBRETRO_VIDEO_SHADER_DIRECTORY") |
| 2705 | (separator #f) ;single entry | 2703 | (separator #f) ;single entry |
| 2706 | (files '("share/libretro/shaders"))))) | 2704 | (files '("share/libretro/shaders"))))) |
| 2707 | (home-page "https://www.libretro.com/") | 2705 | (home-page "https://www.libretro.com/") |
| 2708 | (synopsis "Reference frontend for the libretro API") | 2706 | (synopsis "Reference frontend for the libretro API") |
| 2709 | (description | 2707 | (description |
| 2710 | "Libretro is a simple but powerful development interface that allows for | 2708 | "Libretro is a simple but powerful development interface that allows for |
| 2711 | the easy creation of emulators, games and multimedia applications that can plug | 2709 | the easy creation of emulators, games and multimedia applications that can plug |
| 2712 | straight into any libretro-compatible frontend. RetroArch is the official | 2710 | straight into any libretro-compatible frontend. RetroArch is the official |
| 2713 | reference frontend for the libretro API, currently used by most as a modular | 2711 | reference frontend for the libretro API, currently used by most as a modular |
| 2714 | multi-system game/emulator system.") | 2712 | multi-system game/emulator system.") |
| 2715 | (license (list license:gpl3+ ;for RetroArch itself | 2713 | (license (list license:gpl3+ ;for RetroArch itself |
| 2716 | license:asl2.0 ;SPIRV-Cross | 2714 | license:asl2.0 ;SPIRV-Cross |
| 2717 | license:expat ;yxml | 2715 | license:expat ;yxml |
| 2718 | license:bsd-3))))) ;feragamemode | 2716 | license:bsd-3)))) ;feragamemode |
| 2719 | 2717 | ||
| 2720 | (define-public retroarch | 2718 | (define-public retroarch |
| 2721 | (package | 2719 | (package |
