From f52c944b9b4be44a0ffee306967bf8950dcbf8fdacac846c11de9105bf2aede9 Mon Sep 17 00:00:00 2001 From: Yunhe Guo Date: Sat, 19 Feb 2022 04:16:07 +0000 Subject: [PATCH 1/4] - 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 OBS-URL: https://build.opensuse.org/package/show/Emulators/retroarch?expand=0&rev=57 --- _service | 2 +- retroarch-1.10.0.tar.gz | 3 ++ retroarch-1.9.12.tar.gz | 3 -- retroarch.changes | 98 +++++++++++++++++++++++++++++++++++++++++ retroarch.spec | 4 +- 5 files changed, 104 insertions(+), 6 deletions(-) create mode 100644 retroarch-1.10.0.tar.gz delete mode 100644 retroarch-1.9.12.tar.gz diff --git a/_service b/_service index 5ef5ce6..c381d2f 100644 --- a/_service +++ b/_service @@ -5,7 +5,7 @@ retroarch @PARENT_TAG@ v(.*) - v1.9.12 + v1.10.0 media/icons ps2 uwp diff --git a/retroarch-1.10.0.tar.gz b/retroarch-1.10.0.tar.gz new file mode 100644 index 0000000..9ea64fd --- /dev/null +++ b/retroarch-1.10.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc87f3f6f7a33957a76debbacb7d44098be22dabddc7b6410fc97171ffdec9a1 +size 40804271 diff --git a/retroarch-1.9.12.tar.gz b/retroarch-1.9.12.tar.gz deleted file mode 100644 index 4ad5565..0000000 --- a/retroarch-1.9.12.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5744466b123b3266949f644743b527e99eb72ff76e1f816b43de825538e39871 -size 40631579 diff --git a/retroarch.changes b/retroarch.changes index c0a106b..af5797c 100644 --- a/retroarch.changes +++ b/retroarch.changes @@ -1,3 +1,101 @@ +------------------------------------------------------------------- +Sat Feb 19 04:06:41 UTC 2022 - Yunhe Guo + +- 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 diff --git a/retroarch.spec b/retroarch.spec index b1b3e00..98c4552 100644 --- a/retroarch.spec +++ b/retroarch.spec @@ -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,7 +17,7 @@ Name: retroarch -Version: 1.9.12 +Version: 1.10.0 Release: 0 Summary: Emulator frontend License: GPL-3.0-only From 7e49c551a18c42a1c20fc6b75e26c984f6d1223f3a94745280344ef5ba8e4ecd Mon Sep 17 00:00:00 2001 From: Yunhe Guo Date: Sat, 19 Feb 2022 10:16:19 +0000 Subject: [PATCH 2/4] - 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 OBS-URL: https://build.opensuse.org/package/show/Emulators/retroarch?expand=0&rev=58 --- retroarch-config.patch | 78 ----------------------- retroarch.changes | 3 + retroarch.spec | 108 +++----------------------------- retroarch_migrate_old_config.py | 27 ++++++++ 4 files changed, 37 insertions(+), 179 deletions(-) delete mode 100644 retroarch-config.patch create mode 100644 retroarch_migrate_old_config.py diff --git a/retroarch-config.patch b/retroarch-config.patch deleted file mode 100644 index 757bd3f..0000000 --- a/retroarch-config.patch +++ /dev/null @@ -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 -+ diff --git a/retroarch.changes b/retroarch.changes index af5797c..7e374c1 100644 --- a/retroarch.changes +++ b/retroarch.changes @@ -1,6 +1,9 @@ ------------------------------------------------------------------- Sat Feb 19 04:06:41 UTC 2022 - Yunhe Guo +- 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 diff --git a/retroarch.spec b/retroarch.spec index 98c4552..59ab2d0 100644 --- a/retroarch.spec +++ b/retroarch.spec @@ -23,8 +23,8 @@ 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 diff --git a/retroarch_migrate_old_config.py b/retroarch_migrate_old_config.py new file mode 100644 index 0000000..5f7754d --- /dev/null +++ b/retroarch_migrate_old_config.py @@ -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() From a55b0e8de7c5977a2655f67f44bcdf721894140e73f8586ec7fc7812692735f7 Mon Sep 17 00:00:00 2001 From: Yunhe Guo Date: Sat, 19 Feb 2022 10:23:31 +0000 Subject: [PATCH 3/4] - Add --enable-fontconfig build flag OBS-URL: https://build.opensuse.org/package/show/Emulators/retroarch?expand=0&rev=59 --- retroarch.changes | 1 + retroarch.spec | 1 + 2 files changed, 2 insertions(+) diff --git a/retroarch.changes b/retroarch.changes index 7e374c1..477608b 100644 --- a/retroarch.changes +++ b/retroarch.changes @@ -4,6 +4,7 @@ Sat Feb 19 04:06:41 UTC 2022 - Yunhe Guo - 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 +- Add --enable-fontconfig build flag - Update to version 1.10.0 * ARCHIVE: Allow loading files from archive subdirectory * AUDIO: Remove frame limit from audio batch callback. Before, if diff --git a/retroarch.spec b/retroarch.spec index 59ab2d0..9d13703 100644 --- a/retroarch.spec +++ b/retroarch.spec @@ -113,6 +113,7 @@ export CXXFLAGS="$CFLAGS" --enable-jack \ --enable-pulse \ --enable-freetype \ + --enable-fontconfig \ --enable-xvideo \ --enable-v4l2 \ --enable-qt \ From 9923d7a937e9d43ded8b293378ba70aec4e7e1d2f0a08e95e21b83f31e4269b2 Mon Sep 17 00:00:00 2001 From: Yunhe Guo Date: Sat, 19 Feb 2022 10:27:33 +0000 Subject: [PATCH 4/4] OBS-URL: https://build.opensuse.org/package/show/Emulators/retroarch?expand=0&rev=60 --- retroarch.changes | 1 - retroarch.spec | 1 - 2 files changed, 2 deletions(-) diff --git a/retroarch.changes b/retroarch.changes index 477608b..7e374c1 100644 --- a/retroarch.changes +++ b/retroarch.changes @@ -4,7 +4,6 @@ Sat Feb 19 04:06:41 UTC 2022 - Yunhe Guo - 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 -- Add --enable-fontconfig build flag - Update to version 1.10.0 * ARCHIVE: Allow loading files from archive subdirectory * AUDIO: Remove frame limit from audio batch callback. Before, if diff --git a/retroarch.spec b/retroarch.spec index 9d13703..59ab2d0 100644 --- a/retroarch.spec +++ b/retroarch.spec @@ -113,7 +113,6 @@ export CXXFLAGS="$CFLAGS" --enable-jack \ --enable-pulse \ --enable-freetype \ - --enable-fontconfig \ --enable-xvideo \ --enable-v4l2 \ --enable-qt \