diff --git a/.gitignore b/.gitignore index cb0866a..1df90dd 100644 --- a/.gitignore +++ b/.gitignore @@ -138,3 +138,22 @@ /retroarch-joypad-autoconfig-1.16.0.tar.gz /libretro-database-1.16.0.tar.gz /retroarch-1.16.0.3.tar.gz +/retroarch-1.17.0.tar.gz +/retroarch-assets-20240102git923b711.tar.gz +/libretro-core-info-1.17.0.tar.gz +/libretro-database-1.17.0.tar.gz +/retroarch-joypad-autoconfig-1.17.0.tar.gz +/libretro-core-info-1.18.0.tar.gz +/libretro-database-1.18.0.tar.gz +/retroarch-1.18.0.tar.gz +/retroarch-joypad-autoconfig-1.18.0.tar.gz +/libretro-core-info-1.19.0.tar.gz +/libretro-database-1.19.0.tar.gz +/retroarch-1.19.0.tar.gz +/retroarch-assets-1.19.0.tar.gz +/retroarch-joypad-autoconfig-1.19.0.tar.gz +/libretro-core-info-1.22.0.tar.gz +/libretro-database-1.22.0.tar.gz +/retroarch-1.22.0.tar.gz +/retroarch-assets-1.22.0.tar.gz +/retroarch-joypad-autoconfig-1.22.0.tar.gz diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..0cb662d --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,27 @@ +copy_upstream_release_description: false +# downstream_package_name: foo # not mandatory +# upstream_package_name: Foo # not mandatory +upstream_project_url: https://github.com/libretro/RetroArch +upstream_tag_template: v{version} + +jobs: + - job: pull_from_upstream + trigger: release + dist_git_branches: + - fedora-rawhide + # - fedora-development + # - fedora-all + + - job: koji_build + trigger: commit + allowed_pr_authors: ["packit", "atim"] + allowed_committers: ["packit", "atim"] + dist_git_branches: + - fedora-all + # - epel-9 + + - job: bodhi_update + trigger: commit + dist_git_branches: + - fedora-branched + # - epel-9 diff --git a/changelog b/changelog index d81bd64..2d278a8 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +* Tue Sep 03 2024 Morten Stevens - 1.15.0-7 +- Rebuilt for mbedTLS 3.6.1 + * Tue Jun 27 2023 Artem Polishchuk - 1.15.0-6 - build: ExcludeArch: s390x diff --git a/retroarch.spec b/retroarch.spec index e799ddd..8b7c4ba 100644 --- a/retroarch.spec +++ b/retroarch.spec @@ -21,16 +21,8 @@ ExcludeArch: s390x %global short_url https://github.com/libretro -# Assets -# * https://github.com/libretro/retroarch-assets -# * https://github.com/libretro/retroarch-assets/issues/414 -%global commit1 7b735ef18bcc6508b1c9a626eb237779ff787179 -%global date 20230911 -%global shortcommit1 %(c=%{commit1}; echo ${c:0:7}) - Name: %{appname}%{?p_suffix} -Version: 1.16.0.3 -%global version_addons 1.16.0 +Version: 1.22.0 Release: %autorelease Summary: Cross-platform, sophisticated frontend for the libretro API. %{?sum_suffix} @@ -100,7 +92,7 @@ URL: https://www.libretro.com/ Source0: %{short_url}/RetroArch/archive/v%{version}/%{appname}-%{version}.tar.gz # Assets -Source1: %{short_url}/%{appname}-assets/archive/%{commit1}/%{appname}-assets-%{date}git%{shortcommit1}.tar.gz +Source1: %{short_url}/%{appname}-assets/archive/v%{version}/%{appname}-assets-%{version}.tar.gz # AppData manifest # Upstreamed so should be easier now to maintain and automate updates for both @@ -113,13 +105,13 @@ Source1: %{short_url}/%{appname}-assets/archive/%{commit1}/%{appname}-ass %dnl Source2: https://raw.githubusercontent.com/flathub/%{uuid}/63af0e2449891e40c6ab6feae5d27845768b26fb/%{uuid}.appdata.xml # Libretro's core info -Source3: %{short_url}/libretro-core-info/archive/v%{version_addons}/libretro-core-info-%{version_addons}.tar.gz +Source3: %{short_url}/libretro-core-info/archive/v%{version}/libretro-core-info-%{version}.tar.gz # Joypad Autoconfig Files -Source4: %{short_url}/%{appname}-joypad-autoconfig/archive/v%{version_addons}/%{appname}-joypad-autoconfig-%{version_addons}.tar.gz +Source4: %{short_url}/%{appname}-joypad-autoconfig/archive/v%{version}/%{appname}-joypad-autoconfig-%{version}.tar.gz # Database files (cheatcode, content data, cursors) -Source5: %{short_url}/libretro-database/archive/v%{version_addons}/libretro-database-%{version_addons}.tar.gz +Source5: %{short_url}/libretro-database/archive/v%{version}/libretro-database-%{version}.tar.gz # Script for enabling network access which allows downloading more libretro # cores @@ -137,10 +129,16 @@ BuildRequires: mesa-libEGL-devel BuildRequires: spirv-tools-libs BuildRequires: systemd-devel +# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_header_only_libraries +BuildRequires: stb_image-static +BuildRequires: stb_rect_pack-static +BuildRequires: stb_truetype-static + BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(caca) BuildRequires: pkgconfig(dbus-1) -BuildRequires: pkgconfig(flac) +# Since Flac 1.5.0 update RetroArch won't compile +#BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(gl) @@ -217,18 +215,20 @@ Recommends: libretro-stella2014 # * Dummy for future %endif -Provides: bundled(7zip) = 9.20 +Provides: bundled(7zip) = 19.00 Provides: bundled(discord-rpc) Provides: bundled(dr) Provides: bundled(glslang) Provides: bundled(ibxm) # https://github.com/libretro/RetroArch/issues/8153 -Provides: bundled(lua) = 5.3.5 +Provides: bundled(lua) = 5.3.6 -Provides: bundled(rcheevos) = 10.7 +Provides: bundled(flac) = 1.3.2 +Provides: bundled(rcheevos) = 12.1 Provides: bundled(SPIRV-Cross) -Provides: bundled(stb) +# Unbundling this in the manner of the other stb libraries does not work. +Provides: bundled(stb_vorbis) %global _description %{expand: libretro is an API that exposes generic audio/video/input callbacks. A frontend @@ -240,10 +240,8 @@ While RetroArch is the reference frontend for libretro, several other projects have used the libretro interface to include support for emulators and/or game engines. libretro is completely open and free for anyone to use. -To download and install more libretro cores please read included README.Fedora -file: - - $ xdg-open %{_docdir}/%{name}/README.fedora.md} +For how to download and install more libretro cores please read included +README.fedora.md file.} %description %{_description} @@ -286,8 +284,8 @@ Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %description database RetroArch incoporates a ROM scanning system to automatically produce playlists. -Each ROM that is scanned by the playlist generator is checked against a -database of ROMs that are known to be good copies. +Each ROM that is scanned by the playlist generator is checked against a database +of ROMs that are known to be good copies. %prep @@ -301,7 +299,8 @@ database of ROMs that are known to be good copies. pushd deps rm -rf \ libfat \ - libFLAC \ +%dnl Since Flac 1.5.0 update RetroArch won't compile \ +%dnl libFLAC \ libiosuhax \ libvita2d \ libz \ @@ -310,6 +309,10 @@ rm -rf \ wayland-protocols \ %{nil} popd +for lib in image rect_pack truetype +do + ln -svf /usr/include/stb/stb_${lib}.h deps/stb/stb_${lib}.h +done # * Not part of the 'mbedtls' upstream source find deps/mbedtls/ ! -name 'cacert.h' -type f -exec rm -f {} + @@ -357,7 +360,7 @@ sed -e 's|retroarch.cfg|%{name}.cfg|g' \ %build ./configure \ --prefix=%{_prefix} \ - --disable-builtinflac \ +%dnl --disable-builtinflac \ --disable-builtinmbedtls \ --disable-builtinzlib \ --enable-dbus \ @@ -368,8 +371,7 @@ sed -e 's|retroarch.cfg|%{name}.cfg|g' \ %make_build # Assets -%make_build -C %{appname}-assets-%{commit1} \ - GIT_VERSION=%{shortcommit1} +%make_build -C %{appname}-assets-%{version} # Audio filters %make_build -C libretro-common/audio/dsp_filters @@ -378,13 +380,13 @@ sed -e 's|retroarch.cfg|%{name}.cfg|g' \ %make_build -C gfx/video_filters # Libretro's core info -%make_build -C libretro-core-info-%{version_addons} +%make_build -C libretro-core-info-%{version} # Joypad Autoconfig Files -%make_build -C %{appname}-joypad-autoconfig-%{version_addons} +%make_build -C %{appname}-joypad-autoconfig-%{version} # Database files (cheatcode, content data, cursors) -%make_build -C libretro-database-%{version_addons} +%make_build -C libretro-database-%{version} %install @@ -393,7 +395,7 @@ rm %{buildroot}%{_docdir}/%{appname}/COPYING \ %{buildroot}%{_docdir}/%{appname}/README.md # Assets -%make_install -C %{appname}-assets-%{commit1} +%make_install -C %{appname}-assets-%{version} %if %{with freeworld} mv %{buildroot}%{_datadir}/libretro/assets/ \ %{buildroot}%{_datadir}/libretro/assets-freeworld/ @@ -419,14 +421,14 @@ rm %{buildroot}%{_datadir}/libretro/assets%{?p_suffix}/pkg/osd-font.ttf \ INSTALLDIR=%{_libdir}/retroarch/filters%{?p_suffix}/video # Libretro's core info -%make_install -C libretro-core-info-%{version_addons} \ +%make_install -C libretro-core-info-%{version} \ INSTALLDIR=%{_datadir}/libretro/info%{?p_suffix} # AppData manifest %dnl install -m 0644 -Dp %{SOURCE2} %{buildroot}%{_metainfodir}/%{uuid}.appdata.xml # Joypad Autoconfig Files -%make_install -C %{appname}-joypad-autoconfig-%{version_addons} \ +%make_install -C %{appname}-joypad-autoconfig-%{version} \ DOC_DIR=%{_datadir}/libretro/autoconfig/doc %if %{with freeworld} mv %{buildroot}%{_datadir}/libretro/autoconfig/ \ @@ -434,13 +436,9 @@ mv %{buildroot}%{_datadir}/libretro/autoconfig/ \ %endif # Database files (cheatcode, content data, cursors) -%make_install -C libretro-database-%{version_addons} \ +%make_install -C libretro-database-%{version} \ INSTALLDIR=%{_datadir}/libretro/database%{?p_suffix} -# Rename desktop file to UUID for compatibility -mv %{buildroot}%{_datadir}/applications/%{appname}.desktop \ - %{buildroot}%{_datadir}/applications/%{uuid}.desktop - %if %{with freeworld} # Rename binary, desktop file, appdata manifest, manpage and config file mv %{buildroot}%{_bindir}/%{appname} \ diff --git a/sources b/sources index 90c2f75..19cfff3 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (libretro-core-info-1.16.0.tar.gz) = ca061f4ed16e53f21053c311353e42a83336688011e13a474e5d6a59ed1d317f0dd3d9f03aa569c41f2e38c684eac8db7529f935b573731499c0c2ee5c73c84e -SHA512 (libretro-database-1.16.0.tar.gz) = 02f8108cfe5954cc10e7edf131d81f767bf71151dd314854aad3fc8b18c3d8ebb13e98496aceb905eb2b0680f0b93d13dd7c911894e14ea4b65a78ab7643c1fe -SHA512 (retroarch-1.16.0.3.tar.gz) = a208905257ef5ac38f055195a06167cba5727f470abcba20015ae47bec9af5936fbdc50badb146502d6ccf8de76eaad5846a131974919bb99ea5a0a008624bc1 -SHA512 (retroarch-assets-20230911git7b735ef.tar.gz) = 4948501b63b65314bcef1ea7e14f22f7d5a3c0a5d2d340ac6bd33514ea487b1b4354e25d8ba49ac6ffa81bb7a43923edc985fd292d2fe38949742af468ac65f5 -SHA512 (retroarch-joypad-autoconfig-1.16.0.tar.gz) = b0ca89386b681c081faf76e6b65cbe90fce3b712de3f66a1e8686653824f02566b8d50fb40fad2fc7d7260fe46be75199871f8a316c9acf7210dd2287e5047de +SHA512 (libretro-core-info-1.22.0.tar.gz) = a9c4b471b77b09fcaa1d46f4fae9d56a07e30ef15665f1b067d53a28b5e14c2b83120dee8ddaa1ec9ba31bab198fb748f76d5d4990888f9141e774e256ec6e2d +SHA512 (libretro-database-1.22.0.tar.gz) = 832f020182d4371e88ddb817c9214f7292265a82e51e53e9a1645217f1de801ad67c2b05cd19e17b70732f79e3ee3d33e82e7045e5bda6d3d81414a677b3fcb5 +SHA512 (retroarch-1.22.0.tar.gz) = 99a2c1bf4d74090c357431e78968012187ec47040b2b22c5f5d155d9e1713583d3160b2fcd4b872e177f706a87cbc660efb37766181862865f8f3a437e3b92f5 +SHA512 (retroarch-assets-1.22.0.tar.gz) = 930683106b777745a799ce6a45aac82e09164946a788f820aed27856d1a3fcf39f26045edc84706f047afe654bd3ba265d84dcaf143def194258606c4ff656be +SHA512 (retroarch-joypad-autoconfig-1.22.0.tar.gz) = 1b59694d3520a516f145d3e48d12b42267591cd59f44ca0d6b1a3532d6c195884e2d4345a69326bf6fe75bf53b4edb077cfe57a4701e3fe72f04e61f66a0d317