rpcs3: 0.0.36-17736-c86a25079 -> 0.0.37 (#417625)
This commit is contained in:
@@ -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)
|
||||
{
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user