rpcs3: 0.0.36-17736-c86a25079 -> 0.0.37 (#417625)

This commit is contained in:
Peder Bergebakken Sundt
2025-06-21 11:08:15 +02:00
committed by GitHub
4 changed files with 14 additions and 192 deletions
@@ -1,46 +0,0 @@
From 5af2b630da7a6a450ec6bc4f07fc7ad9a825361d Mon Sep 17 00:00:00 2001
From: Marcin Serwin <marcin@serwin.dev>
Date: Sat, 24 May 2025 18:51:09 +0200
Subject: [PATCH] cmake: add option to use system cubeb
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
---
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
@@ -1,68 +0,0 @@
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)
{
+14 -18
View File
@@ -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 <<EOF
#define RPCS3_GIT_VERSION "${rpcs3GitVersion}"
#define RPCS3_GIT_VERSION "nixpkgs"
#define RPCS3_GIT_FULL_BRANCH "RPCS3/rpcs3/master"
#define RPCS3_GIT_BRANCH "HEAD"
#define RPCS3_GIT_VERSION_NO_UPDATE 1
@@ -170,4 +166,4 @@ stdenv.mkDerivation {
];
mainProgram = "rpcs3";
};
}
})
-60
View File
@@ -1,60 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p nix gnused jq nix-prefetch-git curl cacert
set -eou pipefail
ROOT="$(dirname "$(readlink -f "$0")")"
if [[ ! "$(basename $ROOT)" == "rpcs3" || ! -f "$ROOT/package.nix" ]]; then
echo "ERROR: Not in the rpcs3 folder"
exit 1
fi
if [[ ! -v GITHUB_TOKEN ]]; then
echo "ERROR: \$GITHUB_TOKEN not set"
exit 1
fi
payload=$(jq -cn --rawfile query /dev/stdin '{"query": $query}' <<EOF | curl -s -H "Authorization: bearer $GITHUB_TOKEN" -d '@-' https://api.github.com/graphql
{
repository(owner: "RPCS3", name: "rpcs3") {
branch: ref(qualifiedName: "refs/heads/master") {
target {
oid
... on Commit {
history {
totalCount
}
}
}
}
tag: refs(refPrefix: "refs/tags/", first: 1, orderBy: {field: TAG_COMMIT_DATE, direction: DESC}) {
nodes {
name
}
}
}
}
EOF
)
commit_sha=$(jq -r .data.repository.branch.target.oid <<< "$payload")
major_ver=$(jq -r .data.repository.tag.nodes[0].name <<< "$payload" | sed 's/^v//g')
commit_count=$(jq -r .data.repository.branch.target.history.totalCount <<< "$payload")
git_ver="$commit_count-${commit_sha::9}"
final_ver="$major_ver-$git_ver"
echo "INFO: Latest commit is $commit_sha"
echo "INFO: Latest version is $final_ver"
nix_hash=$(nix-prefetch-git --quiet --fetch-submodules https://github.com/RPCS3/rpcs3.git "$commit_sha" | jq -r .sha256)
nix_hash=$(nix hash to-sri --type sha256 "$nix_hash")
echo "INFO: Hash is $nix_hash"
sed -i -E \
-e "s/rpcs3GitVersion\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3GitVersion = \"${git_ver}\";/g" \
-e "s/rpcs3Version\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3Version = \"${final_ver}\";/g" \
-e "s/rpcs3Revision\s*=\s*\"[a-z0-9]+\";$/rpcs3Revision = \"${commit_sha}\";/g" \
-e "s|rpcs3Hash\s*=\s*\"sha256-.*\";$|rpcs3Hash = \"${nix_hash}\";|g" \
"$ROOT/package.nix"