SHA256
1
0
forked from pool/retroarch

Accepting request 956003 from Emulators

- Remove retroarch-config.patch and use upstream config and updater
- Remove cores dependencies and prefer downloading from upstream
- Add retroarch_migrate_config.py and run it after installation
- Update to version 1.10.0
  * ARCHIVE: Allow loading files from archive subdirectory
  * AUDIO: Remove frame limit from audio batch callback. Before, if
    a core used the audio batch callback, there would be a hidden
    cap of 1024 on the number of audio frames that could be sent. If
    a core exceeded this value, any excess samples were silently
    discarded. While this is sufficient for 'normal' samplerates/
    framerates, it means that e.g. a core using the batch callback
    to send 44100 Hz audio at 30 fps with would have entirely broken
    sound. This has been fixed by removing the audio batch frame limit.
  * AUDIO/RESAMPLER/NEON: Implement sinc kaiser NEON function
  * CHEEVOS: Reset hardcore default to enabled; show message when
    trying to load state in hardcore 
  * CHEEVOS: Fix memory map conversion
  * CHEEVOS: Check netplay status when unlocking achievements
  * CHEEVOS: Support for hashing buffered NDS ROMs
  * CHEEVOS: Fix hung task whe badge doesn't exist
  * CLI: Load save states from command-line or playlist
  * CORE INFO CACHE/SETTINGS: Restore missing 'Cache Core Info Files'
    menu entry
  * DATABASE: Serial scanning for Gamecube/MegaCD/SegaCD/Saturn/PSX
    /PSP/Dreamcast/Wii
  * EMSCRIPTEN: Add Jaxe, WASM4 cores
  * FILE IO: Fix incorrect file names for remap files when the
    content path doesn't have a preceding slash
  * INPUT/OVERLAY: Added support for showing the overlay behind the
    menu instead of in front. This is currently only supported on
    the GL, Vulkan, D3D 9/10/11/12 and 3DS drivers.
  * INPUT/UDEV: Convert abs mouse from screen to viewport coordinates;
    fix relative mouse coords
  * INPUT/WAYLAND: Ignore mouse clicks on window decoration
  * INPUT/WAYLAND: Add scroll wheel support
  * LINUX: Added support for Linux GameMode (https://github.com/FeralInteractive/gamemode),
    which can be toggled on/off in the Power Management or Latency settings menus.
  * LOCALIZATION: Fetch translations from Crowdin
  * LOCALIZATION: Add Indonesian, Swedish and Ukrainian language options
  * LOCALIZATION/MENU/RGUI: Enable Indonesian and Swedish localisations
    for RGUI
  * LOGGING: Logging cleanups
  * LOGGING: Stop logging FPS statistics twice on quit
  * LOGGING: Log font rendering backend only once
  * HOTKEYS: Added a hotkey toggle for the on-screen technical statistics.
  * HOTKEYS: Add delay + acceleration to volume hotkeys
  * MENU: Add option for showing notifications only in menu 
  * MENU/RGUI: Add Finnish to supported languages
  * MENU/XMB: Optional vertical list item fade
  * MENU/XMB/OZONE: Category + History/Favorites icons
  * NETWORK: Fix dummy notification - no longer shows a netplay
    initialization failed notification when netplay is not enabled
  * NETWORK: LAN addresses only for UPnP - Some router devices
    might accept non-LAN addresses without raising an error.
  * NETWORK: Filter out non-connectable rooms. Add an option for
    filtering out non-connectable netplay rooms.
  * NETWORK: Netplay spectator notification fix. Fix double
    notification when the host switches to spectator.
  * NETWORK: Prevents long-term pausing from clients dishonoring
    allow pausing
  * NETWORK/LOBBY: Lobby Viewer: Filter out rooms that are not
    running RetroArch
  * NETWORK/LOBBY: Lobby Viewer: Display a non-connectable tag to
    non-connectable rooms
  * NETWORK/LOBBY: Host: Display warning if we are announcing to
    the internet but our room isn't connectable from there
  * NETWORK/RELAY: Custom relay server support - Add support for
    custom user-ran relay servers
  * NETWORK/RELAY: Replace Canadian relay server with Singapore
    relay server. Current relays: New York/USA, Madrid/Spain, Sao
    Paulo/Brazil, Singapore
  * NETWORK/UPNP: Various refactors/improvements, no more dependent
    on miniupnpc
  * NETWORK/UPNP: Various UPnP binding fixes for specific routers
  * NETWORK/UPNP: Accept IGD v2 service types
  * NETWORK/UPNP: Delay lobby server announcing - delay the announcing
    in order to give UPnP's port forwarding more time. Fix the remaining
    truncation warnings.
  * NETWORK/UPNP: Smart interface selection - Find the most suitable
    address for UPnP by scoring interfaces on how close their address
    is to the device's address
  * OPENGL1: Fix buffer overflow - RetroArch would sometimes crashes
    at startup when loading asset textures with GL1 driver
  * VULKAN: Double combined image sampler descriptor pool size -
    fix segfaults with AMD GPUs using RADV
  * VULKAN: Emulate mailbox only with Vsync enabled - otherwise
    have it disabled - useful for VRR/G-Sync/FreeSync
  * VULKAN/SWAPCHAIN: Vulkan max swapchain images option adjustments:
    removed value 1, since it won't be used - Video reinit on change,
    so that there is no need to restart or toggle fullscreen
  * VULKAN/HDR: HDR support - tested on Windows
  * WAYLAND: Add libdecor for client side decoration
  * WAYLAND: Use any display for initial metrics
  * WAYLAND: Fix the window closing, if RetroArch is build without libdecor
  * WAYLAND: Use checked sizes in EGL resize
  * WAYLAND: Fix window title update
  * See full changelog at https://github.com/libretro/RetroArch/blob/master/CHANGES.md

OBS-URL: https://build.opensuse.org/request/show/956003
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/retroarch?expand=0&rev=14
This commit is contained in:
Dominique Leuenberger 2022-02-19 18:21:18 +00:00 committed by Git OBS Bridge
commit 056545c410
7 changed files with 141 additions and 185 deletions

View File

@ -5,7 +5,7 @@
<param name="filename">retroarch</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="revision">v1.9.12</param>
<param name="revision">v1.10.0</param>
<param name="exclude">media/icons</param>
<param name="exclude">ps2</param>
<param name="exclude">uwp</param>

3
retroarch-1.10.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bc87f3f6f7a33957a76debbacb7d44098be22dabddc7b6410fc97171ffdec9a1
size 40804271

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5744466b123b3266949f644743b527e99eb72ff76e1f816b43de825538e39871
size 40631579

View File

@ -1,78 +0,0 @@
diff -rub retroarch.orig/retroarch.cfg retroarch/retroarch.cfg
--- retroarch.orig/retroarch.cfg 2019-11-02 16:28:42.045539778 +0200
+++ retroarch/retroarch.cfg 2019-11-06 20:21:31.990684917 +0200
@@ -642,7 +642,7 @@
# menu_show_online_updater = true
# If disabled, will hide the ability to update cores (and core info files) inside the menu.
-# menu_show_core_updater = true
+menu_show_core_updater = false
# If disabled, the libretro core will keep running in the background when we
# are in the menu.
@@ -771,7 +771,7 @@
# Assets directory. This location is queried by default when menu interfaces try to look for
# loadable assets, etc.
-# assets_directory =
+assets_directory = /usr/share/libretro/assets
# Dynamic wallpapers directory. The place to store the wallpapers dynamically
# loaded by the menu depending on context.
@@ -781,31 +781,31 @@
# thumbnails_directory =
# File browser directory. Sets start directory for menu file browser.
-# rgui_browser_directory =
+rgui_browser_directory = ~/
# Core directory for libretro core implementations.
-# libretro_directory =
+libretro_directory = /usr/lib/libretro
# Core info directory for libretro core information.
-# libretro_info_path =
+libretro_info_path = /usr/share/libretro/info
# Path to content database directory.
-# content_database_path =
+content_database_path = /usr/share/libretro/database/rdb
# Saved queries are stored to this directory.
-# cursor_directory =
+cursor_directory = /usr/share/libretro/database/cursors
# Path to cheat database directory.
-# cheat_database_path =
+cheat_database_path = /usr/share/libretro/database/cht
# Defines a directory where CPU-based video filters are kept.
-# video_filter_dir =
+video_filter_dir = /usr/lib/libretro/filters/video
# Directory where DSP plugins are kept.
-# audio_filter_dir =
+audio_filter_dir = /usr/lib/libretro/filters/audio
# Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access.
-# video_shader_dir =
+video_shader_dir = /usr/share/libretro/shaders
# Recording output directory. Where recordings are saved.
# recording_output_directory =
@@ -825,7 +825,7 @@
# Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.
# Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.
# Requires input_autodetect_enable to be enabled.
-# joypad_autoconfig_dir =
+joypad_autoconfig_dir = /usr/share/libretro/autoconfig
# Save all remapped controls to this directory.
# input_remapping_directory =
@@ -913,3 +913,6 @@
# Enable device vibration for supported cores
# enable_device_vibration = false
+# Download thumbnails from network on demand
+network_on_demand_thumbnails = true
+

View File

@ -1,3 +1,104 @@
-------------------------------------------------------------------
Sat Feb 19 04:06:41 UTC 2022 - Yunhe Guo <i@guoyunhe.me>
- Remove retroarch-config.patch and use upstream config and updater
- Remove cores dependencies and prefer downloading from upstream
- Add retroarch_migrate_config.py and run it after installation
- Update to version 1.10.0
* ARCHIVE: Allow loading files from archive subdirectory
* AUDIO: Remove frame limit from audio batch callback. Before, if
a core used the audio batch callback, there would be a hidden
cap of 1024 on the number of audio frames that could be sent. If
a core exceeded this value, any excess samples were silently
discarded. While this is sufficient for 'normal' samplerates/
framerates, it means that e.g. a core using the batch callback
to send 44100 Hz audio at 30 fps with would have entirely broken
sound. This has been fixed by removing the audio batch frame limit.
* AUDIO/RESAMPLER/NEON: Implement sinc kaiser NEON function
* CHEEVOS: Reset hardcore default to enabled; show message when
trying to load state in hardcore
* CHEEVOS: Fix memory map conversion
* CHEEVOS: Check netplay status when unlocking achievements
* CHEEVOS: Support for hashing buffered NDS ROMs
* CHEEVOS: Fix hung task whe badge doesn't exist
* CLI: Load save states from command-line or playlist
* CORE INFO CACHE/SETTINGS: Restore missing 'Cache Core Info Files'
menu entry
* DATABASE: Serial scanning for Gamecube/MegaCD/SegaCD/Saturn/PSX
/PSP/Dreamcast/Wii
* EMSCRIPTEN: Add Jaxe, WASM4 cores
* FILE IO: Fix incorrect file names for remap files when the
content path doesn't have a preceding slash
* INPUT/OVERLAY: Added support for showing the overlay behind the
menu instead of in front. This is currently only supported on
the GL, Vulkan, D3D 9/10/11/12 and 3DS drivers.
* INPUT/UDEV: Convert abs mouse from screen to viewport coordinates;
fix relative mouse coords
* INPUT/WAYLAND: Ignore mouse clicks on window decoration
* INPUT/WAYLAND: Add scroll wheel support
* LINUX: Added support for Linux GameMode (https://github.com/FeralInteractive/gamemode),
which can be toggled on/off in the Power Management or Latency settings menus.
* LOCALIZATION: Fetch translations from Crowdin
* LOCALIZATION: Add Indonesian, Swedish and Ukrainian language options
* LOCALIZATION/MENU/RGUI: Enable Indonesian and Swedish localisations
for RGUI
* LOGGING: Logging cleanups
* LOGGING: Stop logging FPS statistics twice on quit
* LOGGING: Log font rendering backend only once
* HOTKEYS: Added a hotkey toggle for the on-screen technical statistics.
* HOTKEYS: Add delay + acceleration to volume hotkeys
* MENU: Add option for showing notifications only in menu
* MENU/RGUI: Add Finnish to supported languages
* MENU/XMB: Optional vertical list item fade
* MENU/XMB/OZONE: Category + History/Favorites icons
* NETWORK: Fix dummy notification - no longer shows a netplay
initialization failed notification when netplay is not enabled
* NETWORK: LAN addresses only for UPnP - Some router devices
might accept non-LAN addresses without raising an error.
* NETWORK: Filter out non-connectable rooms. Add an option for
filtering out non-connectable netplay rooms.
* NETWORK: Netplay spectator notification fix. Fix double
notification when the host switches to spectator.
* NETWORK: Prevents long-term pausing from clients dishonoring
allow pausing
* NETWORK/LOBBY: Lobby Viewer: Filter out rooms that are not
running RetroArch
* NETWORK/LOBBY: Lobby Viewer: Display a non-connectable tag to
non-connectable rooms
* NETWORK/LOBBY: Host: Display warning if we are announcing to
the internet but our room isn't connectable from there
* NETWORK/RELAY: Custom relay server support - Add support for
custom user-ran relay servers
* NETWORK/RELAY: Replace Canadian relay server with Singapore
relay server. Current relays: New York/USA, Madrid/Spain, Sao
Paulo/Brazil, Singapore
* NETWORK/UPNP: Various refactors/improvements, no more dependent
on miniupnpc
* NETWORK/UPNP: Various UPnP binding fixes for specific routers
* NETWORK/UPNP: Accept IGD v2 service types
* NETWORK/UPNP: Delay lobby server announcing - delay the announcing
in order to give UPnP's port forwarding more time. Fix the remaining
truncation warnings.
* NETWORK/UPNP: Smart interface selection - Find the most suitable
address for UPnP by scoring interfaces on how close their address
is to the device's address
* OPENGL1: Fix buffer overflow - RetroArch would sometimes crashes
at startup when loading asset textures with GL1 driver
* VULKAN: Double combined image sampler descriptor pool size -
fix segfaults with AMD GPUs using RADV
* VULKAN: Emulate mailbox only with Vsync enabled - otherwise
have it disabled - useful for VRR/G-Sync/FreeSync
* VULKAN/SWAPCHAIN: Vulkan max swapchain images option adjustments:
removed value 1, since it won't be used - Video reinit on change,
so that there is no need to restart or toggle fullscreen
* VULKAN/HDR: HDR support - tested on Windows
* WAYLAND: Add libdecor for client side decoration
* WAYLAND: Use any display for initial metrics
* WAYLAND: Fix the window closing, if RetroArch is build without libdecor
* WAYLAND: Use checked sizes in EGL resize
* WAYLAND: Fix window title update
* See full changelog at https://github.com/libretro/RetroArch/blob/master/CHANGES.md
-------------------------------------------------------------------
Sun Oct 31 02:45:41 UTC 2021 - Yunhe Guo <i@guoyunhe.me>

View File

@ -1,7 +1,7 @@
#
# spec file for package retroarch
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,14 +17,14 @@
Name: retroarch
Version: 1.9.12
Version: 1.10.0
Release: 0
Summary: Emulator frontend
License: GPL-3.0-only
Group: System/Emulators/Other
URL: http://www.retroarch.com
Source: %{name}-%{version}.tar.gz
Patch0: retroarch-config.patch
Source0: %{name}-%{version}.tar.gz
Source1: %{name}_migrate_old_config.py
BuildRequires: fdupes
BuildRequires: gcc-c++
@ -74,101 +74,6 @@ BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libswscale)
%endif
# Shared data
Recommends: retroarch-joypad-autoconfig
Recommends: libretro-core-info
Recommends: libretro-database
Recommends: libretro-glsl-shaders
Recommends: retroarch-assets
# Emulation cores
# Arcade/MAME
# MAME 2003 Plus has the best performance, supporting most games before 2000
Recommends: libretro-mame2003-plus
# Atari 2600
Recommends: libretro-stella
# Atari 5200
Recommends: libretro-atari800
# Atari 7800
Recommends: libretro-prosystem
# Atari Jaguar
Recommends: libretro-virtualjaguar
# Atari Lynx
Recommends: libretro-handy
# Nintendo Entertainment System (NES)
Recommends: libretro-nestopia
# Super Nintendo Entertainment System (SNES)
Recommends: libretro-bsnes
# Nintendo 64 (N64)
Recommends: libretro-parallel-n64
# GameCube (GC) and Wii (not fully working yet)
Recommends: libretro-dolphin
# Nintendo Game Boy Color (GBC)
Recommends: libretro-gambatte
# Nintendo Game Boy Advance (GBA)
Recommends: libretro-mgba
# Nintendo DS (NDS)
Recommends: libretro-desmume
# Nintendo 3DS (3DS)
Recommends: libretro-citra
# Sega Genesis/Mega Drive (MD)
Recommends: libretro-picodrive
# Sega Saturn (SS)
Recommends: libretro-yabause
# Sega Dreamcast (DC)
Recommends: libretro-flycast
# Sony PlayStation (PSX)
%ifarch armv6l armv6hl armv7l armv7hl aarch64
Recommends: libretro-pcsx-rearmed
%else
Recommends: libretro-beetle-psx-hw
%endif
# Sony PlayStation 2 (PS2)
Recommends: libretro-play
# Sony PlayStation Portable (PSP)
Recommends: libretro-ppsspp
# Amstrad
Recommends: libretro-crocods
# Amstrad CPC
Recommends: libretro-cap32
# Bandai WonderSwan
Recommends: libretro-beetle-wswan
# Fairchild ChannelF
Recommends: libretro-freechaf
# Game & Watch
Recommends: libretro-gw
# Mattel Intellivision
Recommends: libretro-freeintv
# MS DOS
Recommends: libretro-dosbox
# MSX
Recommends: libretro-bluemsx
# Neo Geo Pocket
Recommends: libretro-beetle-ngp
# PC Engine/TurboGrafx-16
Recommends: libretro-beetle-pce-fast
# ZX 81
Recommends: libretro-81
# ZX Spectrum
Recommends: libretro-fuse
# Game and game engine cores
Recommends: libretro-2048
Recommends: libretro-3dengine
Recommends: libretro-chailove
Recommends: libretro-craft
Recommends: libretro-easyrpg
Recommends: libretro-ffmpeg
Recommends: libretro-gme
%description
RetroArch is a modular multi-system emulator system that is designed to be
fast, lightweight, and portable. It has features few other emulators frontends
@ -177,10 +82,6 @@ have, such as real-time rewinding and game-aware shading.
%prep
%setup -q
%autopatch -p1
# Change /usr/lib/ to /usr/lib64/ on 64-bit platform
sed -i s~/usr/lib/~%{_libdir}/~g retroarch.cfg
# Change /usr/bin/env python to /usr/bin/python
sed -i s~%{_bindir}/env\ python~%{_bindir}/python~g tools/cg2glsl.py
@ -228,12 +129,17 @@ make %{?_smp_mflags}
%install
%make_install
install -m 0755 %{SOURCE1} %{buildroot}%{_bindir}/%{name}_migrate_old_config
%fdupes %{buildroot}
%post
%{_bindir}/%{name}_migrate_old_config
%files
%config(noreplace) %{_sysconfdir}/%{name}.cfg
%{_bindir}/%{name}
%{_bindir}/%{name}_migrate_old_config
%{_bindir}/%{name}-cg2glsl
%{_datadir}/applications/%{name}.desktop
%{_datadir}/metainfo/com.libretro.*.xml

View File

@ -0,0 +1,27 @@
#!/usr/bin/python3
import glob
config_files = glob.glob('/home/*/.config/retroarch/retroarch.cfg')
for config_file in config_files:
fin = open(config_file, 'rt')
data = fin.read()
fin.close()
# revert patched config with upstream config
data = data.replace('assets_directory = "/usr/share/libretro/assets"', 'assets_directory = "~/.config/retroarch/assets"')
data = data.replace('audio_filter_dir = "/usr/lib64/libretro/filters/audio"', 'audio_filter_dir = "~/.config/retroarch/filters/audio"')
data = data.replace('cheat_database_path = "/usr/share/libretro/database/cht"', 'cheat_database_path = "~/.config/retroarch/cheats"')
data = data.replace('content_database_path = "/usr/share/libretro/database/rdb"', 'content_database_path = "~/.config/retroarch/database/rdb"')
data = data.replace('cursor_directory = "/usr/share/libretro/database/cursors"', 'cursor_directory = "~/.config/retroarch/database/cursors"')
data = data.replace('joypad_autoconfig_dir = "/usr/share/libretro/autoconfig"', 'joypad_autoconfig_dir = "~/.config/retroarch/autoconfig"')
data = data.replace('libretro_directory = "/usr/lib64/libretro"', 'libretro_directory = "~/.config/retroarch/cores"')
data = data.replace('libretro_info_path = "/usr/share/libretro/info"', 'libretro_info_path = "~/.config/retroarch/cores"')
data = data.replace('menu_show_core_updater = "false"', 'menu_show_core_updater = "true"')
data = data.replace('video_filter_dir = "/usr/lib64/libretro/filters/video"', 'video_filter_dir = "~/.config/retroarch/filters/video"')
data = data.replace('video_shader_dir = "/usr/share/libretro/shaders"', 'video_shader_dir = "~/.config/retroarch/shaders"')
fout = open(config_file, 'wt')
fout.write(data)
fout.close()