diff --git a/pkgs/by-name/rp/rpcs3/0001-cmake-add-option-to-use-system-cubeb.patch b/pkgs/by-name/rp/rpcs3/0001-cmake-add-option-to-use-system-cubeb.patch deleted file mode 100644 index 0ae9f29ca514..000000000000 --- a/pkgs/by-name/rp/rpcs3/0001-cmake-add-option-to-use-system-cubeb.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 5af2b630da7a6a450ec6bc4f07fc7ad9a825361d Mon Sep 17 00:00:00 2001 -From: Marcin Serwin -Date: Sat, 24 May 2025 18:51:09 +0200 -Subject: [PATCH] cmake: add option to use system cubeb - -Signed-off-by: Marcin Serwin ---- - 3rdparty/CMakeLists.txt | 9 ++++++++- - CMakeLists.txt | 1 + - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt -index 044fd464e..6c49a889b 100644 ---- a/3rdparty/CMakeLists.txt -+++ b/3rdparty/CMakeLists.txt -@@ -131,7 +131,14 @@ add_subdirectory(stblib) - add_subdirectory(discord-rpc) - - # Cubeb --add_subdirectory(cubeb EXCLUDE_FROM_ALL) -+if(USE_SYSTEM_CUBEB) -+ find_package(cubeb REQUIRED GLOBAL) -+ message(STATUS "Using system cubeb version '${cubeb_VERSION}'") -+ add_library(3rdparty::cubeb ALIAS cubeb::cubeb) -+else() -+ message(STATUS "Using static cubeb from 3rdparty") -+ add_subdirectory(cubeb EXCLUDE_FROM_ALL) -+endif() - - # SoundTouch - add_subdirectory(SoundTouch EXCLUDE_FROM_ALL) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9d2edd836..39aa150c2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,6 +31,7 @@ option(USE_SYSTEM_FFMPEG "Prefer system ffmpeg instead of the prebuild one" OFF) - option(USE_SYSTEM_OPENAL "Prefer system OpenAL instead of the prebuild one" ON) - option(USE_SYSTEM_CURL "Prefer system Curl instead of the prebuild one" ON) - option(USE_SYSTEM_OPENCV "Prefer system OpenCV instead of the builtin one" ON) -+option(USE_SYSTEM_CUBEB "Prefer system cubeb instead of the builtin one" OFF) - option(HAS_MEMORY_BREAKPOINTS "Add support for memory breakpoints to the interpreter" OFF) - option(USE_LTO "Use LTO for building" ON) - option(BUILD_RPCS3_TESTS "Build RPCS3 unit tests." OFF) --- -2.49.0 - diff --git a/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch b/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch deleted file mode 100644 index 13ca314d3022..000000000000 --- a/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 600e4604169464c64cbf548e7629e483ad2aad1e Mon Sep 17 00:00:00 2001 -From: Megamouse -Date: Mon, 7 Apr 2025 20:49:15 +0200 -Subject: [PATCH] Fix compilation with newer Qt - ---- - rpcs3/rpcs3qt/game_list_base.cpp | 2 +- - rpcs3/rpcs3qt/game_list_frame.cpp | 4 ++-- - rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/rpcs3/rpcs3qt/game_list_base.cpp b/rpcs3/rpcs3qt/game_list_base.cpp -index 72b45d33bfbb..21640906ee7e 100644 ---- a/rpcs3/rpcs3qt/game_list_base.cpp -+++ b/rpcs3/rpcs3qt/game_list_base.cpp -@@ -25,7 +25,7 @@ void game_list_base::repaint_icons(std::vector& game_data, const QCol - for (game_info& game : game_data) - { - game->pxmap = placeholder; -- -+ - if (movie_item_base* item = game->item) - { - item->set_icon_load_func([this, game, device_pixel_ratio, cancel = item->icon_loading_aborted()](int) -diff --git a/rpcs3/rpcs3qt/game_list_frame.cpp b/rpcs3/rpcs3qt/game_list_frame.cpp -index a294d69cc68e..439913760053 100644 ---- a/rpcs3/rpcs3qt/game_list_frame.cpp -+++ b/rpcs3/rpcs3qt/game_list_frame.cpp -@@ -2363,7 +2363,7 @@ void game_list_frame::BatchActionBySerials(progress_dialog* pdlg, const std::set - - connect(future_watcher, &QFutureWatcher::finished, this, [=, this]() - { -- pdlg->setLabelText(progressLabel.arg(*index).arg(serials_size)); -+ pdlg->setLabelText(progressLabel.arg(index->load()).arg(serials_size)); - pdlg->setCancelButtonText(tr("OK")); - QApplication::beep(); - -@@ -2396,7 +2396,7 @@ void game_list_frame::BatchActionBySerials(progress_dialog* pdlg, const std::set - return; - } - -- pdlg->setLabelText(progressLabel.arg(*index).arg(serials_size)); -+ pdlg->setLabelText(progressLabel.arg(index->load()).arg(serials_size)); - pdlg->setCancelButtonText(tr("OK")); - connect(pdlg, &progress_dialog::canceled, this, [pdlg](){ pdlg->deleteLater(); }); - QApplication::beep(); -diff --git a/rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp b/rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp -index 45fbe6f59e7d..4b9bc5dd6e4f 100644 ---- a/rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp -+++ b/rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp -@@ -362,7 +362,7 @@ void ps_move_tracker_dialog::update_saturation_threshold(bool update_slider) - } - void ps_move_tracker_dialog::update_min_radius(bool update_slider) - { -- ui->minRadiusGb->setTitle(tr("Min Radius: %0 %").arg(g_cfg_move.min_radius)); -+ ui->minRadiusGb->setTitle(tr("Min Radius: %0 %").arg(g_cfg_move.min_radius.get())); - - if (update_slider) - { -@@ -372,7 +372,7 @@ void ps_move_tracker_dialog::update_min_radius(bool update_slider) - - void ps_move_tracker_dialog::update_max_radius(bool update_slider) - { -- ui->maxRadiusGb->setTitle(tr("Max Radius: %0 %").arg(g_cfg_move.max_radius)); -+ ui->maxRadiusGb->setTitle(tr("Max Radius: %0 %").arg(g_cfg_move.max_radius.get())); - - if (update_slider) - { diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix index 607f0728b6d7..097f83d4c951 100644 --- a/pkgs/by-name/rp/rpcs3/package.nix +++ b/pkgs/by-name/rp/rpcs3/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, + nix-update-script, cmake, pkg-config, git, @@ -35,12 +37,6 @@ }: let - # Keep these separate so the update script can regex them - rpcs3GitVersion = "17736-c86a25079"; - rpcs3Version = "0.0.36-17736-c86a25079"; - rpcs3Revision = "c86a25079518032d73395a79979970acb2581a91"; - rpcs3Hash = "sha256-e+mT3qn1oz1fh2bqu5YM+m774Can34If57Kd1T1EGbk="; - inherit (qt6Packages) qtbase qtmultimedia @@ -48,31 +44,31 @@ let qtwayland ; in -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "rpcs3"; - version = rpcs3Version; + version = "0.0.37"; src = fetchFromGitHub { owner = "RPCS3"; repo = "rpcs3"; - rev = rpcs3Revision; + tag = "v${finalAttrs.version}"; + hash = "sha256-/ve1qe76Rc+mXHemq8DI2U9IP6+tPV5m5SNh/wmppEw="; fetchSubmodules = true; - hash = rpcs3Hash; }; patches = [ - # Modified from https://github.com/RPCS3/rpcs3/pull/17009; doesn't apply cleanly due to intermediate commits - ./fix-qt6.9-compilation.patch - - # https://github.com/RPCS3/rpcs3/pull/17246 - ./0001-cmake-add-option-to-use-system-cubeb.patch + (fetchpatch2 { + # https://github.com/RPCS3/rpcs3/pull/17316 + url = "https://github.com/RPCS3/rpcs3/commit/bad6e992586264344ee1a3943423863d2bd39b45.patch?full_index=1"; + hash = "sha256-rSyA1jcmRiV6m8rPKqTnDFuBh9WYFTGmyTSU2qrd+Go="; + }) ]; - passthru.updateScript = ./update.sh; + passthru.updateScript = nix-update-script { }; preConfigure = '' cat > ./rpcs3/git-version.h <