rpcs3: 0.0.27-14840-842edbcbe -> 0.0.28-15372-38a5313ed
* Cubeb support is unconditional now, remove the check.
* SDL is only required for FAudio, so rename the check to faudioSupport.
* Use system LLVM now that upstream supports it 🎉
This commit is contained in:
parent
52858df957
commit
e6ab46982d
3 changed files with 49 additions and 90 deletions
|
@ -1,62 +0,0 @@
|
||||||
From 9866ce8f538e1ab1f0902408b7575013b768f365 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Zane van Iperen <zane@zanevaniperen.com>
|
|
||||||
Date: Wed, 2 Feb 2022 23:41:59 +1000
|
|
||||||
Subject: [PATCH] llvm/ExecutionEngine/IntelJITEvents: only use
|
|
||||||
ITTAPI_SOURCE_DIR
|
|
||||||
|
|
||||||
---
|
|
||||||
.../IntelJITEvents/CMakeLists.txt | 32 ++-----------------
|
|
||||||
1 file changed, 2 insertions(+), 30 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
|
|
||||||
index 0c5017c3..d20c35f3 100644
|
|
||||||
--- a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
|
|
||||||
+++ b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
|
|
||||||
@@ -1,34 +1,6 @@
|
|
||||||
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. )
|
|
||||||
|
|
||||||
-if(NOT DEFINED ITTAPI_GIT_REPOSITORY)
|
|
||||||
- set(ITTAPI_GIT_REPOSITORY https://github.com/intel/ittapi.git)
|
|
||||||
-endif()
|
|
||||||
-
|
|
||||||
-if(NOT DEFINED ITTAPI_GIT_TAG)
|
|
||||||
- set(ITTAPI_GIT_TAG v3.18.12)
|
|
||||||
-endif()
|
|
||||||
-
|
|
||||||
-if(NOT DEFINED ITTAPI_SOURCE_DIR)
|
|
||||||
- set(ITTAPI_SOURCE_DIR ${PROJECT_BINARY_DIR})
|
|
||||||
-endif()
|
|
||||||
-
|
|
||||||
-if(NOT EXISTS ${ITTAPI_SOURCE_DIR}/ittapi)
|
|
||||||
- execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ITTAPI_GIT_REPOSITORY}
|
|
||||||
- WORKING_DIRECTORY ${ITTAPI_SOURCE_DIR}
|
|
||||||
- RESULT_VARIABLE GIT_CLONE_RESULT)
|
|
||||||
- if(NOT GIT_CLONE_RESULT EQUAL "0")
|
|
||||||
- message(FATAL_ERROR "git clone ${ITTAPI_GIT_REPOSITORY} failed with ${GIT_CLONE_RESULT}, please clone ${ITTAPI_GIT_REPOSITORY}")
|
|
||||||
- endif()
|
|
||||||
-endif()
|
|
||||||
-
|
|
||||||
-execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ITTAPI_GIT_TAG}
|
|
||||||
- WORKING_DIRECTORY ${ITTAPI_SOURCE_DIR}/ittapi
|
|
||||||
- RESULT_VARIABLE GIT_CHECKOUT_RESULT)
|
|
||||||
-if(NOT GIT_CHECKOUT_RESULT EQUAL "0")
|
|
||||||
- message(FATAL_ERROR "git checkout ${ITTAPI_GIT_TAG} failed with ${GIT_CHECKOUT_RESULT}, please checkout ${ITTAPI_GIT_TAG} at ${ITTAPI_SOURCE_DIR}/ittapi")
|
|
||||||
-endif()
|
|
||||||
-
|
|
||||||
-include_directories( ${ITTAPI_SOURCE_DIR}/ittapi/include/ )
|
|
||||||
+include_directories( ${ITTAPI_SOURCE_DIR}/include/ )
|
|
||||||
|
|
||||||
if( HAVE_LIBDL )
|
|
||||||
set(LLVM_INTEL_JIT_LIBS ${CMAKE_DL_LIBS})
|
|
||||||
@@ -40,7 +12,7 @@ set(LLVM_INTEL_JIT_LIBS ${LLVM_PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS})
|
|
||||||
add_llvm_component_library(LLVMIntelJITEvents
|
|
||||||
IntelJITEventListener.cpp
|
|
||||||
jitprofiling.c
|
|
||||||
- ${ITTAPI_SOURCE_DIR}/ittapi/src/ittnotify/ittnotify_static.c
|
|
||||||
+ ${ITTAPI_SOURCE_DIR}/src/ittnotify/ittnotify_static.c
|
|
||||||
|
|
||||||
LINK_LIBS ${LLVM_INTEL_JIT_LIBS}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.34.1
|
|
||||||
|
|
|
@ -1,24 +1,43 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, pkg-config, git
|
{ lib
|
||||||
, qtbase, qtquickcontrols, qtmultimedia, openal, glew, vulkan-headers, vulkan-loader, libpng
|
, stdenv
|
||||||
, ffmpeg, libevdev, libusb1, zlib, curl, wolfssl, python3, pugixml, faudio, flatbuffers
|
, fetchFromGitHub
|
||||||
, sdl2Support ? true, SDL2
|
, wrapQtAppsHook
|
||||||
, cubebSupport ? true, cubeb
|
, cmake
|
||||||
, waylandSupport ? true, wayland
|
, pkg-config
|
||||||
|
, git
|
||||||
|
, qtbase
|
||||||
|
, qtquickcontrols
|
||||||
|
, qtmultimedia
|
||||||
|
, openal
|
||||||
|
, glew
|
||||||
|
, vulkan-headers
|
||||||
|
, vulkan-loader
|
||||||
|
, libpng
|
||||||
|
, libSM
|
||||||
|
, ffmpeg
|
||||||
|
, libevdev
|
||||||
|
, libusb1
|
||||||
|
, zlib
|
||||||
|
, curl
|
||||||
|
, wolfssl
|
||||||
|
, python3
|
||||||
|
, pugixml
|
||||||
|
, flatbuffers
|
||||||
|
, llvm_16
|
||||||
|
, cubeb
|
||||||
|
, faudioSupport ? true
|
||||||
|
, faudio
|
||||||
|
, SDL2
|
||||||
|
, waylandSupport ? true
|
||||||
|
, wayland
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Keep these separate so the update script can regex them
|
# Keep these separate so the update script can regex them
|
||||||
rpcs3GitVersion = "14840-842edbcbe";
|
rpcs3GitVersion = "15372-38a5313ed";
|
||||||
rpcs3Version = "0.0.27-14840-842edbcbe";
|
rpcs3Version = "0.0.28-15372-38a5313ed";
|
||||||
rpcs3Revision = "842edbcbe795941981993c667c2d8a866126b5b0";
|
rpcs3Revision = "38a5313ed2c4ebb626017a4f7f28ed0c0a89f931";
|
||||||
rpcs3Sha256 = "1al4dx93f02k56k62dxjqqb46cwg0nkpjax1xnjc8v3bx4gsp6f6";
|
rpcs3Hash = "sha256-tiByoxPf++TK/Xowo2VQ+OEojoYIpX/B8caDyaMZ3Qc=";
|
||||||
|
|
||||||
ittapi = fetchFromGitHub {
|
|
||||||
owner = "intel";
|
|
||||||
repo = "ittapi";
|
|
||||||
rev = "v3.18.12";
|
|
||||||
sha256 = "0c3g30rj1y8fbd2q4kwlpg1jdy02z4w5ryhj3yr9051pdnf4kndz";
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "rpcs3";
|
pname = "rpcs3";
|
||||||
|
@ -29,11 +48,9 @@ stdenv.mkDerivation {
|
||||||
repo = "rpcs3";
|
repo = "rpcs3";
|
||||||
rev = rpcs3Revision;
|
rev = rpcs3Revision;
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
sha256 = rpcs3Sha256;
|
hash = rpcs3Hash;
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch ];
|
|
||||||
|
|
||||||
passthru.updateScript = ./update.sh;
|
passthru.updateScript = ./update.sh;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -55,17 +72,20 @@ stdenv.mkDerivation {
|
||||||
"-DUSE_SYSTEM_FAUDIO=ON"
|
"-DUSE_SYSTEM_FAUDIO=ON"
|
||||||
"-DUSE_SYSTEM_PUGIXML=ON"
|
"-DUSE_SYSTEM_PUGIXML=ON"
|
||||||
"-DUSE_SYSTEM_FLATBUFFERS=ON"
|
"-DUSE_SYSTEM_FLATBUFFERS=ON"
|
||||||
|
"-DUSE_SYSTEM_SDL=ON"
|
||||||
|
"-DWITH_LLVM=ON"
|
||||||
|
"-DBUILD_LLVM=OFF"
|
||||||
"-DUSE_NATIVE_INSTRUCTIONS=OFF"
|
"-DUSE_NATIVE_INSTRUCTIONS=OFF"
|
||||||
"-DITTAPI_SOURCE_DIR=${ittapi}"
|
"-DUSE_FAUDIO=${if faudioSupport then "ON" else "OFF"}"
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config git wrapQtAppsHook ];
|
nativeBuildInputs = [ cmake pkg-config git wrapQtAppsHook ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtbase qtquickcontrols qtmultimedia openal glew vulkan-headers vulkan-loader libpng ffmpeg
|
qtbase qtquickcontrols qtmultimedia openal glew vulkan-headers vulkan-loader libpng ffmpeg
|
||||||
libevdev zlib libusb1 curl wolfssl python3 pugixml faudio flatbuffers
|
libevdev zlib libusb1 curl wolfssl python3 pugixml flatbuffers llvm_16 libSM
|
||||||
] ++ lib.optional sdl2Support SDL2
|
] ++ cubeb.passthru.backendLibs
|
||||||
++ lib.optionals cubebSupport cubeb.passthru.backendLibs
|
++ lib.optionals faudioSupport [ faudio SDL2 ]
|
||||||
++ lib.optional waylandSupport wayland;
|
++ lib.optional waylandSupport wayland;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p gnused jq nix-prefetch-git curl cacert
|
#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p nix gnused jq nix-prefetch-git curl cacert
|
||||||
|
|
||||||
set -eou pipefail
|
set -eou pipefail
|
||||||
|
|
||||||
|
@ -48,12 +48,13 @@ final_ver="$major_ver-$git_ver"
|
||||||
echo "INFO: Latest commit is $commit_sha"
|
echo "INFO: Latest commit is $commit_sha"
|
||||||
echo "INFO: Latest version is $final_ver"
|
echo "INFO: Latest version is $final_ver"
|
||||||
|
|
||||||
nix_sha256=$(nix-prefetch-git --quiet --fetch-submodules https://github.com/RPCS3/rpcs3.git "$commit_sha" | jq -r .sha256)
|
nix_hash=$(nix-prefetch-git --quiet --fetch-submodules https://github.com/RPCS3/rpcs3.git "$commit_sha" | jq -r .sha256)
|
||||||
echo "INFO: SHA256 is $nix_sha256"
|
nix_hash=$(nix hash to-sri --type sha256 "$nix_hash")
|
||||||
|
echo "INFO: Hash is $nix_hash"
|
||||||
|
|
||||||
sed -i -E \
|
sed -i -E \
|
||||||
-e "s/rpcs3GitVersion\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3GitVersion = \"${git_ver}\";/g" \
|
-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/rpcs3Version\s*=\s*\"[\.a-z0-9-]+\";$/rpcs3Version = \"${final_ver}\";/g" \
|
||||||
-e "s/rpcs3Revision\s*=\s*\"[a-z0-9]+\";$/rpcs3Revision = \"${commit_sha}\";/g" \
|
-e "s/rpcs3Revision\s*=\s*\"[a-z0-9]+\";$/rpcs3Revision = \"${commit_sha}\";/g" \
|
||||||
-e "s/rpcs3Sha256\s*=\s*\"[a-z0-9]+\";$/rpcs3Sha256 = \"${nix_sha256}\";/g" \
|
-e "s|rpcs3Hash\s*=\s*\"sha256-.*\";$|rpcs3Hash = \"${nix_hash}\";|g" \
|
||||||
"$ROOT/default.nix"
|
"$ROOT/default.nix"
|
||||||
|
|
Loading…
Reference in a new issue