Roles/gaming: fix emulator build issues

This commit is contained in:
Toast 2025-10-24 01:08:59 +02:00
parent e15a9c0c01
commit 65eb518651
4 changed files with 110 additions and 13 deletions

View file

@ -101,6 +101,8 @@
name = "patched-nixpkgs-unstable"; name = "patched-nixpkgs-unstable";
src = nixpkgs-unstable-raw; src = nixpkgs-unstable-raw;
patches = [ patches = [
./nixpkgs-patches/pr454957.patch
./nixpkgs-patches/pr454958.patch
]; ];
}; };
nixpkgs-patched = nixpkgs-raw.legacyPackages.x86_64-linux.applyPatches { nixpkgs-patched = nixpkgs-raw.legacyPackages.x86_64-linux.applyPatches {

View file

@ -0,0 +1,36 @@
From 75c9e6694415682eea0f73a87a269502bc7a7048 Mon Sep 17 00:00:00 2001
From: Eric Helgeson <erichelgeson@gmail.com>
Date: Thu, 23 Oct 2025 11:23:15 -0500
Subject: [PATCH] rpcs3: Add upstream patch for Qt 6.10+
---
pkgs/by-name/rp/rpcs3/package.nix | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix
index ed68bcb2ec19c..109f71454fe25 100644
--- a/pkgs/by-name/rp/rpcs3/package.nix
+++ b/pkgs/by-name/rp/rpcs3/package.nix
@@ -1,6 +1,7 @@
{
lib,
stdenv,
+ fetchpatch,
fetchFromGitHub,
nix-update-script,
cmake,
@@ -148,6 +149,14 @@ stdenv.mkDerivation (finalAttrs: {
qtwayland
];
+ patches = [
+ (fetchpatch {
+ name = "fix-build-qt-6.10.patch";
+ url = "https://github.com/RPCS3/rpcs3/commit/038ee090b731bf63917371a3586c2f7d7cf4e585.patch";
+ hash = "sha256-jTIxsheG9b9zp0JEeWQ73BunAXmEIg5tj4SrWBfdHy8=";
+ })
+ ];
+
doInstallCheck = true;
preFixup = ''

View file

@ -0,0 +1,57 @@
From dd207a94bea4679948e37183fb6ad89c40dd79f1 Mon Sep 17 00:00:00 2001
From: Marcin Serwin <marcin@serwin.dev>
Date: Wed, 15 Oct 2025 15:18:48 +0000
Subject: [PATCH] pcsx2: fix build with Qt 6.10
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
---
pkgs/by-name/pc/pcsx2/fix-qt-6.10.patch | 25 +++++++++++++++++++++++++
pkgs/by-name/pc/pcsx2/package.nix | 3 +++
2 files changed, 28 insertions(+)
create mode 100644 pkgs/by-name/pc/pcsx2/fix-qt-6.10.patch
diff --git a/pkgs/by-name/pc/pcsx2/fix-qt-6.10.patch b/pkgs/by-name/pc/pcsx2/fix-qt-6.10.patch
new file mode 100644
index 0000000000000..06341689c4537
--- /dev/null
+++ b/pkgs/by-name/pc/pcsx2/fix-qt-6.10.patch
@@ -0,0 +1,25 @@
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index 504b7a3..100a024 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -107,7 +107,7 @@ disable_compiler_warnings_for_target(cubeb)
+ disable_compiler_warnings_for_target(speex)
+
+ # Find the Qt components that we need.
+-find_package(Qt6 6.7.3 COMPONENTS CoreTools Core GuiTools Gui WidgetsTools Widgets LinguistTools REQUIRED)
++find_package(Qt6 6.7.3 COMPONENTS CoreTools Core CorePrivate GuiTools Gui GuiPrivate WidgetsTools Widgets WidgetsPrivate LinguistTools REQUIRED)
+
+ if(WIN32)
+ add_subdirectory(3rdparty/rainterface EXCLUDE_FROM_ALL)
+diff --git a/pcsx2-qt/CMakeLists.txt b/pcsx2-qt/CMakeLists.txt
+index a62df95..4883c64 100644
+--- a/pcsx2-qt/CMakeLists.txt
++++ b/pcsx2-qt/CMakeLists.txt
+@@ -266,6 +266,7 @@ target_link_libraries(pcsx2-qt PRIVATE
+ Qt6::Core
+ Qt6::Gui
+ Qt6::Widgets
++ Qt6::GuiPrivate
+ KDAB::kddockwidgets
+ )
+
diff --git a/pkgs/by-name/pc/pcsx2/package.nix b/pkgs/by-name/pc/pcsx2/package.nix
index 16e9aeabf1f69..daddd2f377eb1 100644
--- a/pkgs/by-name/pc/pcsx2/package.nix
+++ b/pkgs/by-name/pc/pcsx2/package.nix
@@ -63,6 +63,9 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
./0000-define-rev.patch
./remove-cubeb-vendor.patch
+
+ # Based on https://github.com/PCSX2/pcsx2/commit/8dffc857079e942ca77b091486c20c3c6530e4ed which doesn't apply cleanly
+ ./fix-qt-6.10.patch
];
cmakeFlags = [

View file

@ -1,17 +1,19 @@
{pkgs, ...}: { {pkgs, ...}: {
# nixpkgs.overlays = [ nixpkgs.overlays = [
# ( (
# final: prev: { final: prev: {
# azahar = prev.azahar.overrideAttrs (old: { azahar = prev.azahar.overrideAttrs (old: {
# version = "2120.3"; patches = old.patches ++ [(
# src = final.fetchzip { final.fetchpatch {
# url = "https://github.com/azahar-emu/azahar/releases/download/2120.3/azahar-unified-source-20250414-00e3bbb.tar.xz"; name = "fix-build-qt-6.10.patch";
# hash = "sha256-3QKicmpmWDM7x9GDJ8sxm2Xu+0Yfho4LkSWMp+ixzRk="; url = "https://github.com/azahar-emu/azahar/pull/1441.patch";
# }; hash = "sha256-PTnhFpuGoF6qPIwupdcRo6s+Tzhj0JR0QwoCgxgGxAw=";
# }); }
# } )];
# ) });
# ]; }
)
];
home-manager.users.toast = { home-manager.users.toast = {
home.packages = [pkgs.azahar]; home.packages = [pkgs.azahar];
}; };