diff options
| author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-10-03 12:50:32 +0900 |
|---|---|---|
| committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-10-07 01:20:21 +0900 |
| commit | 0aa36db19850abaf985bebd5a13296c1f1af56d1 (patch) | |
| tree | ddcf0d123fbf1087b80b6684a23b7ddfe37412b3 | |
| parent | bd3799098481881f341f0694623eef6941669232 (diff) | |
gnu: retroarch: Update to 1.19.1-1.48b71d5.
* gnu/packages/emulators.scm (retroarch): Update to 1.19.1-1.48b71d5.
Change-Id: Icb4c3c8d80be97cf604aec0db2d86f340e31f01e
| -rw-r--r-- | gnu/packages/emulators.scm | 316 |
1 files changed, 159 insertions, 157 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 2b21cc6116d..594a6e1a993 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm | |||
| @@ -1579,167 +1579,169 @@ physical device and the RetroPad virtual controller.") | |||
| 1579 | (license license:expat))) | 1579 | (license license:expat))) |
| 1580 | 1580 | ||
| 1581 | (define-public retroarch-minimal | 1581 | (define-public retroarch-minimal |
| 1582 | (package | 1582 | (let ((commit "48b71d5cf8a070e785e2302d8fe241a7c2180fdd") |
| 1583 | (name "retroarch-minimal") | 1583 | (revision "1")) |
| 1584 | (version "1.19.1") | 1584 | (package |
| 1585 | (source | 1585 | (name "retroarch-minimal") |
| 1586 | (origin | 1586 | (version "1.19.1") |
| 1587 | (method git-fetch) | 1587 | (source |
| 1588 | (uri (git-reference | 1588 | (origin |
| 1589 | (url "https://github.com/libretro/RetroArch") | 1589 | (method git-fetch) |
| 1590 | (commit (string-append "v" version)))) | 1590 | (uri (git-reference |
| 1591 | (snippet | 1591 | (url "https://github.com/libretro/RetroArch") |
| 1592 | #~(begin | 1592 | (commit commit))) |
| 1593 | (use-modules (guix build utils) | 1593 | (snippet |
| 1594 | (ice-9 ftw) | 1594 | #~(begin |
| 1595 | (srfi srfi-26)) | 1595 | (use-modules (guix build utils) |
| 1596 | ;; XXX: 'delete-all-but' is copied from the turbovnc package. | 1596 | (ice-9 ftw) |
| 1597 | (define (delete-all-but directory . preserve) | 1597 | (srfi srfi-26)) |
| 1598 | (define (directory? x) | 1598 | ;; XXX: 'delete-all-but' is copied from the turbovnc package. |
| 1599 | (and=> (stat x #f) | 1599 | (define (delete-all-but directory . preserve) |
| 1600 | (compose (cut eq? 'directory <>) stat:type))) | 1600 | (define (directory? x) |
| 1601 | (with-directory-excursion directory | 1601 | (and=> (stat x #f) |
| 1602 | (let* ((pred | 1602 | (compose (cut eq? 'directory <>) stat:type))) |
| 1603 | (negate (cut member <> (append '("." "..") preserve)))) | 1603 | (with-directory-excursion directory |
| 1604 | (items (scandir "." pred))) | 1604 | (let* ((pred |
| 1605 | (for-each (lambda (item) | 1605 | (negate (cut member <> (append '("." "..") preserve)))) |
| 1606 | (if (directory? item) | 1606 | (items (scandir "." pred))) |
| 1607 | (delete-file-recursively item) | 1607 | (for-each (lambda (item) |
| 1608 | (delete-file item))) | 1608 | (if (directory? item) |
| 1609 | items)))) | 1609 | (delete-file-recursively item) |
| 1610 | ;; Remove as much bundled sources as possible, shaving off about | 1610 | (delete-file item))) |
| 1611 | ;; 65 MiB. | 1611 | items)))) |
| 1612 | (delete-all-but "deps" | 1612 | ;; Remove as much bundled sources as possible, shaving off about |
| 1613 | "feralgamemode" ;used in platform_unix.c | 1613 | ;; 65 MiB. |
| 1614 | "mbedtls" ;further refined below | 1614 | (delete-all-but "deps" |
| 1615 | "yxml") ;used in rxml.c | 1615 | "feralgamemode" ;used in platform_unix.c |
| 1616 | ;; This is an old root certificate used in net_socket_ssl_mbed.c, | 1616 | "mbedtls" ;further refined below |
| 1617 | ;; not actually from mbedtls. | 1617 | "yxml") ;used in rxml.c |
| 1618 | (delete-all-but "deps/mbedtls" "cacert.h"))) | 1618 | ;; This is an old root certificate used in net_socket_ssl_mbed.c, |
| 1619 | (file-name (git-file-name name version)) | 1619 | ;; not actually from mbedtls. |
| 1620 | (sha256 | 1620 | (delete-all-but "deps/mbedtls" "cacert.h"))) |
| 1621 | (base32 "15nh4y4vpf4n1ryhiy4fwvzn5xz5idzfzn9fsi5v9hzp25vbjmrm")) | 1621 | (patches (search-patches "retroarch-improved-search-paths.patch" |
| 1622 | (patches (search-patches "retroarch-improved-search-paths.patch" | 1622 | "retroarch-unbundle-spirv-cross.patch")) |
| 1623 | "retroarch-unbundle-spirv-cross.patch")))) | 1623 | (file-name (git-file-name name version)) |
| 1624 | (build-system gnu-build-system) | 1624 | (sha256 |
| 1625 | (arguments | 1625 | (base32 "13hgg4pxkpwlcmmyp9npr9k9cb94waqiyjpy2jzs8m9rc7xl2ap9")))) |
| 1626 | (list | 1626 | (build-system gnu-build-system) |
| 1627 | #:tests? #f ; no tests | 1627 | (arguments |
| 1628 | #:phases | 1628 | (list |
| 1629 | #~(modify-phases %standard-phases | 1629 | #:tests? #f ; no tests |
| 1630 | (replace 'configure | 1630 | #:phases |
| 1631 | (lambda* (#:key inputs #:allow-other-keys) | 1631 | #~(modify-phases %standard-phases |
| 1632 | ;; Hard-code some store file names. | 1632 | (replace 'configure |
| 1633 | (substitute* "gfx/common/vulkan_common.c" | 1633 | (lambda* (#:key inputs #:allow-other-keys) |
| 1634 | (("libvulkan.so") | 1634 | ;; Hard-code some store file names. |
| 1635 | (search-input-file inputs "lib/libvulkan.so"))) | 1635 | (substitute* "gfx/common/vulkan_common.c" |
| 1636 | (substitute* "gfx/common/wayland/generate_wayland_protos.sh" | 1636 | (("libvulkan.so") |
| 1637 | (("/usr/local/share/wayland-protocols") | 1637 | (search-input-file inputs "lib/libvulkan.so"))) |
| 1638 | (search-input-directory inputs "share/wayland-protocols"))) | 1638 | (substitute* "gfx/common/wayland/generate_wayland_protos.sh" |
| 1639 | 1639 | (("/usr/local/share/wayland-protocols") | |
| 1640 | ;; Without HLSL, we can still enable GLSLANG and Vulkan support. | 1640 | (search-input-directory inputs "share/wayland-protocols"))) |
| 1641 | (substitute* "qb/config.libs.sh" | 1641 | |
| 1642 | (("[$]HAVE_GLSLANG_HLSL") "notcare")) | 1642 | ;; Without HLSL, we can still enable GLSLANG and Vulkan support. |
| 1643 | 1643 | (substitute* "qb/config.libs.sh" | |
| 1644 | ;; The configure script does not yet accept the extra arguments | 1644 | (("[$]HAVE_GLSLANG_HLSL") "notcare")) |
| 1645 | ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. | 1645 | |
| 1646 | (invoke | 1646 | ;; The configure script does not yet accept the extra arguments |
| 1647 | "./configure" | 1647 | ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. |
| 1648 | #$@(if (string-prefix? "armhf" (or (%current-target-system) | 1648 | (invoke |
| 1649 | (%current-system))) | 1649 | "./configure" |
| 1650 | '("--enable-neon" "--enable-floathard") | 1650 | #$@(if (string-prefix? "armhf" (or (%current-target-system) |
| 1651 | '()) | 1651 | (%current-system))) |
| 1652 | (string-append "--prefix=" #$output) | 1652 | '("--enable-neon" "--enable-floathard") |
| 1653 | ;; Non-free software are available through the core updater, | 1653 | '()) |
| 1654 | ;; disable it. See <https://issues.guix.gnu.org/38360>. | 1654 | (string-append "--prefix=" #$output) |
| 1655 | "--disable-update_cores" | 1655 | ;; Non-free software are available through the core updater, |
| 1656 | "--disable-update_core_info" | 1656 | ;; disable it. See <https://issues.guix.gnu.org/38360>. |
| 1657 | "--disable-online_updater" | 1657 | "--disable-update_cores" |
| 1658 | ;; The assets are provided via the `retroarch-assets' package. | 1658 | "--disable-update_core_info" |
| 1659 | "--disable-update_assets" | 1659 | "--disable-online_updater" |
| 1660 | "--disable-builtinmbedtls" | 1660 | ;; The assets are provided via the `retroarch-assets' package. |
| 1661 | "--disable-builtinbearssl" | 1661 | "--disable-update_assets" |
| 1662 | "--disable-builtinzlib" | 1662 | "--disable-builtinmbedtls" |
| 1663 | "--disable-builtinflac" | 1663 | "--disable-builtinbearssl" |
| 1664 | "--disable-builtinglslang" | 1664 | "--disable-builtinzlib" |
| 1665 | "--disable-builtinspirv_cross" | 1665 | "--disable-builtinflac" |
| 1666 | ;; These are disabled to avoid requiring the bundled | 1666 | "--disable-builtinglslang" |
| 1667 | ;; dependencies. | 1667 | "--disable-builtinspirv_cross" |
| 1668 | "--disable-7zip" | 1668 | ;; These are disabled to avoid requiring the bundled |
| 1669 | "--disable-cheevos" | 1669 | ;; dependencies. |
| 1670 | "--disable-crtswitchres" | 1670 | "--disable-7zip" |
| 1671 | "--disable-discord" | 1671 | "--disable-cheevos" |
| 1672 | "--disable-dr_mp3" | 1672 | "--disable-crtswitchres" |
| 1673 | "--disable-ibxm" | 1673 | "--disable-discord" |
| 1674 | "--disable-stb_font" | 1674 | "--disable-dr_mp3" |
| 1675 | "--disable-stb_image" | 1675 | "--disable-ibxm" |
| 1676 | "--disable-stb_vorbis" | 1676 | "--disable-stb_font" |
| 1677 | "--disable-xdelta")))))) | 1677 | "--disable-stb_image" |
| 1678 | (native-inputs | 1678 | "--disable-stb_vorbis" |
| 1679 | (list pkg-config | 1679 | "--disable-xdelta")))))) |
| 1680 | wayland-protocols | 1680 | (native-inputs |
| 1681 | which)) | 1681 | (list pkg-config |
| 1682 | (inputs | 1682 | wayland-protocols |
| 1683 | (list alsa-lib | 1683 | which)) |
| 1684 | eudev | 1684 | (inputs |
| 1685 | ffmpeg | 1685 | (list alsa-lib |
| 1686 | flac | 1686 | eudev |
| 1687 | fontconfig | 1687 | ffmpeg |
| 1688 | freetype | 1688 | flac |
| 1689 | glslang | 1689 | fontconfig |
| 1690 | libxinerama | 1690 | freetype |
| 1691 | libxkbcommon | 1691 | glslang |
| 1692 | libxml2 | 1692 | libxinerama |
| 1693 | libxrandr | 1693 | libxkbcommon |
| 1694 | libxv | 1694 | libxml2 |
| 1695 | mbedtls-lts | 1695 | libxrandr |
| 1696 | mesa | 1696 | libxv |
| 1697 | openal | 1697 | mbedtls-lts |
| 1698 | openssl | 1698 | mesa |
| 1699 | pulseaudio | 1699 | openal |
| 1700 | python | 1700 | openssl |
| 1701 | qtbase-5 | 1701 | pulseaudio |
| 1702 | sdl2 | 1702 | python |
| 1703 | spirv-cross | 1703 | qtbase-5 |
| 1704 | spirv-headers | 1704 | sdl2 |
| 1705 | spirv-tools | 1705 | spirv-cross |
| 1706 | v4l-utils | 1706 | spirv-headers |
| 1707 | vulkan-loader | 1707 | spirv-tools |
| 1708 | wayland | 1708 | v4l-utils |
| 1709 | zlib)) | 1709 | vulkan-loader |
| 1710 | (native-search-paths | 1710 | wayland |
| 1711 | (list (search-path-specification | 1711 | zlib)) |
| 1712 | (variable "LIBRETRO_DIRECTORY") | 1712 | (native-search-paths |
| 1713 | (separator #f) ;single entry | 1713 | (list (search-path-specification |
| 1714 | (files '("lib/libretro"))) | 1714 | (variable "LIBRETRO_DIRECTORY") |
| 1715 | (search-path-specification | 1715 | (separator #f) ;single entry |
| 1716 | (variable "LIBRETRO_ASSETS_DIRECTORY") | 1716 | (files '("lib/libretro"))) |
| 1717 | (separator #f) ;single entry | 1717 | (search-path-specification |
| 1718 | (files '("share/libretro/assets"))) | 1718 | (variable "LIBRETRO_ASSETS_DIRECTORY") |
| 1719 | (search-path-specification | 1719 | (separator #f) ;single entry |
| 1720 | (variable "LIBRETRO_AUTOCONFIG_DIRECTORY") | 1720 | (files '("share/libretro/assets"))) |
| 1721 | (separator #f) ;single entry | 1721 | (search-path-specification |
| 1722 | (files '("share/libretro/autoconfig"))) | 1722 | (variable "LIBRETRO_AUTOCONFIG_DIRECTORY") |
| 1723 | (search-path-specification | 1723 | (separator #f) ;single entry |
| 1724 | (variable "LIBRETRO_VIDEO_FILTER_DIRECTORY") | 1724 | (files '("share/libretro/autoconfig"))) |
| 1725 | (separator #f) ;single entry | 1725 | (search-path-specification |
| 1726 | (files '("share/libretro/filters/video"))) | 1726 | (variable "LIBRETRO_VIDEO_FILTER_DIRECTORY") |
| 1727 | (search-path-specification | 1727 | (separator #f) ;single entry |
| 1728 | (variable "LIBRETRO_VIDEO_SHADER_DIRECTORY") | 1728 | (files '("share/libretro/filters/video"))) |
| 1729 | (separator #f) ;single entry | 1729 | (search-path-specification |
| 1730 | (files '("share/libretro/shaders"))))) | 1730 | (variable "LIBRETRO_VIDEO_SHADER_DIRECTORY") |
| 1731 | (home-page "https://www.libretro.com/") | 1731 | (separator #f) ;single entry |
| 1732 | (synopsis "Reference frontend for the libretro API") | 1732 | (files '("share/libretro/shaders"))))) |
| 1733 | (description | 1733 | (home-page "https://www.libretro.com/") |
| 1734 | "Libretro is a simple but powerful development interface that allows for | 1734 | (synopsis "Reference frontend for the libretro API") |
| 1735 | (description | ||
| 1736 | "Libretro is a simple but powerful development interface that allows for | ||
| 1735 | the easy creation of emulators, games and multimedia applications that can plug | 1737 | the easy creation of emulators, games and multimedia applications that can plug |
| 1736 | straight into any libretro-compatible frontend. RetroArch is the official | 1738 | straight into any libretro-compatible frontend. RetroArch is the official |
| 1737 | reference frontend for the libretro API, currently used by most as a modular | 1739 | reference frontend for the libretro API, currently used by most as a modular |
| 1738 | multi-system game/emulator system.") | 1740 | multi-system game/emulator system.") |
| 1739 | (license (list license:gpl3+ ;for RetroArch itself | 1741 | (license (list license:gpl3+ ;for RetroArch itself |
| 1740 | license:asl2.0 ;SPIRV-Cross | 1742 | license:asl2.0 ;SPIRV-Cross |
| 1741 | license:expat ;yxml | 1743 | license:expat ;yxml |
| 1742 | license:bsd-3)))) ;feragamemode | 1744 | license:bsd-3))))) ;feragamemode |
| 1743 | 1745 | ||
| 1744 | (define-public retroarch | 1746 | (define-public retroarch |
| 1745 | (package | 1747 | (package |
