Flake: add nixpkgs patches
Update and fix rpcs3 package
This commit is contained in:
parent
db6366a491
commit
85c3c570dd
3 changed files with 174 additions and 0 deletions
|
|
@ -97,6 +97,8 @@
|
|||
name = "patched-nixpkgs-unstable";
|
||||
src = nixpkgs-unstable-raw;
|
||||
patches = [
|
||||
./nixpkgs-patches/pr400900.patch
|
||||
./nixpkgs-patches/pr386360.patch
|
||||
];
|
||||
};
|
||||
nixpkgs-patched = nixpkgs-raw.legacyPackages.x86_64-linux.applyPatches {
|
||||
|
|
|
|||
71
nixpkgs-patches/pr386360.patch
Normal file
71
nixpkgs-patches/pr386360.patch
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
From ec004ef5f30f4ea66ce0b77bab5ce778883aff5d Mon Sep 17 00:00:00 2001
|
||||
From: Zane van Iperen <zane@zanevaniperen.com>
|
||||
Date: Tue, 1 Apr 2025 20:23:42 +0900
|
||||
Subject: [PATCH] rpcs3: 0.0.34-17323-92d070729 -> 0.0.36-17736-c86a25079
|
||||
|
||||
---
|
||||
pkgs/by-name/rp/rpcs3/package.nix | 20 +++++++++++++-------
|
||||
1 file changed, 13 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix
|
||||
index 779d9048ca0ea0..dc39a9bc61e384 100644
|
||||
--- a/pkgs/by-name/rp/rpcs3/package.nix
|
||||
+++ b/pkgs/by-name/rp/rpcs3/package.nix
|
||||
@@ -21,12 +21,14 @@
|
||||
python3,
|
||||
pugixml,
|
||||
flatbuffers,
|
||||
- llvm_16,
|
||||
+ llvm_18,
|
||||
cubeb,
|
||||
+ opencv,
|
||||
enableDiscordRpc ? false,
|
||||
faudioSupport ? true,
|
||||
faudio,
|
||||
SDL2,
|
||||
+ sdl3,
|
||||
waylandSupport ? true,
|
||||
wayland,
|
||||
wrapGAppsHook3,
|
||||
@@ -34,10 +36,10 @@
|
||||
|
||||
let
|
||||
# Keep these separate so the update script can regex them
|
||||
- rpcs3GitVersion = "17323-92d070729";
|
||||
- rpcs3Version = "0.0.34-17323-92d070729";
|
||||
- rpcs3Revision = "92d07072915b99917892dd7833c06eb44a09e234";
|
||||
- rpcs3Hash = "sha256-GH2sXw1AYdqwzxucXFhVS0nM0eRhC+XDHS6RTZY8pYY=";
|
||||
+ rpcs3GitVersion = "17736-c86a25079";
|
||||
+ rpcs3Version = "0.0.36-17736-c86a25079";
|
||||
+ rpcs3Revision = "c86a25079518032d73395a79979970acb2581a91";
|
||||
+ rpcs3Hash = "sha256-e+mT3qn1oz1fh2bqu5YM+m774Can34If57Kd1T1EGbk=";
|
||||
|
||||
inherit (qt6Packages)
|
||||
qtbase
|
||||
@@ -77,9 +79,11 @@ stdenv.mkDerivation {
|
||||
(lib.cmakeBool "USE_SYSTEM_CURL" true)
|
||||
(lib.cmakeBool "USE_SYSTEM_WOLFSSL" true)
|
||||
(lib.cmakeBool "USE_SYSTEM_FAUDIO" true)
|
||||
+ (lib.cmakeBool "USE_SYSTEM_OPENAL" true)
|
||||
(lib.cmakeBool "USE_SYSTEM_PUGIXML" true)
|
||||
(lib.cmakeBool "USE_SYSTEM_FLATBUFFERS" true)
|
||||
(lib.cmakeBool "USE_SYSTEM_SDL" true)
|
||||
+ (lib.cmakeBool "USE_SYSTEM_OPENCV" true)
|
||||
(lib.cmakeBool "USE_SDL" true)
|
||||
(lib.cmakeBool "WITH_LLVM" true)
|
||||
(lib.cmakeBool "BUILD_LLVM" false)
|
||||
@@ -115,10 +119,12 @@ stdenv.mkDerivation {
|
||||
wolfssl
|
||||
python3
|
||||
pugixml
|
||||
- SDL2
|
||||
+ SDL2 # Still needed by FAudio's CMake
|
||||
+ sdl3
|
||||
flatbuffers
|
||||
- llvm_16
|
||||
+ llvm_18
|
||||
libSM
|
||||
+ opencv
|
||||
]
|
||||
++ cubeb.passthru.backendLibs
|
||||
++ lib.optional faudioSupport faudio
|
||||
101
nixpkgs-patches/pr400900.patch
Normal file
101
nixpkgs-patches/pr400900.patch
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
From 66e2bdbc88f1985c0960c29e991ffcbb8b180cc0 Mon Sep 17 00:00:00 2001
|
||||
From: Marcin Serwin <marcin@serwin.dev>
|
||||
Date: Tue, 22 Apr 2025 20:04:11 +0200
|
||||
Subject: [PATCH] rpcs3: unbreak
|
||||
|
||||
---
|
||||
.../rp/rpcs3/fix-qt6.9-compilation.patch | 68 +++++++++++++++++++
|
||||
pkgs/by-name/rp/rpcs3/package.nix | 5 ++
|
||||
2 files changed, 73 insertions(+)
|
||||
create mode 100644 pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch
|
||||
|
||||
diff --git a/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch b/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch
|
||||
new file mode 100644
|
||||
index 00000000000000..13ca314d3022ba
|
||||
--- /dev/null
|
||||
+++ b/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch
|
||||
@@ -0,0 +1,68 @@
|
||||
+From 600e4604169464c64cbf548e7629e483ad2aad1e Mon Sep 17 00:00:00 2001
|
||||
+From: Megamouse <studienricky89@googlemail.com>
|
||||
+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_info>& 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<void>::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 779d9048ca0ea0..b633453a77e61d 100644
|
||||
--- a/pkgs/by-name/rp/rpcs3/package.nix
|
||||
+++ b/pkgs/by-name/rp/rpcs3/package.nix
|
||||
@@ -58,6 +58,11 @@ stdenv.mkDerivation {
|
||||
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
|
||||
+ ];
|
||||
+
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
preConfigure = ''
|
||||
Loading…
Add table
Add a link
Reference in a new issue