CITRA: updated for QT6

This commit is contained in:
XargonWan 2023-10-12 09:50:01 +02:00
parent eaf9685eab
commit a911b9c6f5
4 changed files with 52 additions and 74 deletions

View file

@ -1,11 +1,11 @@
app-id: net.retrodeck.retrodeck app-id: net.retrodeck.retrodeck
runtime: org.kde.Platform runtime: org.kde.Platform
runtime-version: 5.15-22.08 runtime-version: "6.5"
sdk: org.kde.Sdk sdk: org.kde.Sdk
sdk-extensions: sdk-extensions:
- org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3 - org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3
base: io.qt.qtwebengine.BaseApp # Needed for Yuzu base: io.qt.qtwebengine.BaseApp # Needed for Yuzu
base-version: 5.15-22.08 # Needed for Yuzu base-version: "6.5" # Needed for Yuzu
command: retrodeck.sh command: retrodeck.sh
add-extensions: add-extensions:
@ -67,7 +67,7 @@ cleanup-commands:
modules: modules:
# dependency of: CEMU # dependency of: CEMU, CITRA
- rd-submodules/shared-modules/libusb/libusb.json - rd-submodules/shared-modules/libusb/libusb.json
# This module is used to define the RetroDECK version # This module is used to define the RetroDECK version
@ -221,7 +221,7 @@ modules:
url: https://github.com/mikefarah/yq/releases/download/v4.33.3/yq_linux_amd64 url: https://github.com/mikefarah/yq/releases/download/v4.33.3/yq_linux_amd64
sha256: 4ee662847c588c3ef2fec8bfb304e8739e3dbaba87ccb9a608d691c88f5b64dc sha256: 4ee662847c588c3ef2fec8bfb304e8739e3dbaba87ccb9a608d691c88f5b64dc
# dependency of: CEMU (13.0.0) # dependency of: CEMU, CITRA <-(13.0.0)
- name: glslang - name: glslang
buildsystem: cmake-ninja buildsystem: cmake-ninja
config-opts: config-opts:
@ -610,37 +610,42 @@ modules:
# Yuzu - END # Yuzu - END
# CITRA - START # CITRA - START
# DO NOT UPDATE! WENT ON QT6
# https://github.com/flathub/org.citra_emu.citra # https://github.com/flathub/org.citra_emu.citra
- rd-submodules/shared-modules/SDL2/SDL2-with-libdecor.json - rd-submodules/shared-modules/SDL2/SDL2-2.26.1-with-libdecor.json
- name: citra - name: citra
buildsystem: cmake-ninja buildsystem: cmake-ninja
builddir: true builddir: true
config-opts: config-opts:
- '-DCMAKE_BUILD_TYPE=Release' - '-DCMAKE_BUILD_TYPE=Release'
- '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON'
- '-DENABLE_LTO=ON'
- '-DENABLE_QT_TRANSLATION=ON' - '-DENABLE_QT_TRANSLATION=ON'
- '-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON' - '-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON'
- '-DUSE_DISCORD_PRESENCE=ON'
- '-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF' - '-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF'
# - '-DENABLE_FFMPEG_VIDEO_DUMPER=ON'
# FFMPEG VIDEO DUMPER was disabled because of this: https://github.com/citra-emu/citra/issues/5949
- '-DUSE_SYSTEM_SDL2=ON' - '-DUSE_SYSTEM_SDL2=ON'
- '-DCMAKE_POLICY_DEFAULT_CMP0069=NEW'
- '-DENABLE_FDK=ON'
cleanup: cleanup:
- /share/man - /share/man
- /share/pixmaps - /share/pixmaps
post-install: post-install:
- install -Dm644 ../dist/citra.svg /app/share/icons/hicolor/scalable/apps/citra.svg - install -Dm755 ../citra-launcher.sh /app/bin/citra-launcher
- install -Dm644 ../dist/icon.png /app/share/icons/hicolor/512x512/apps/citra.png - >-
install -Dm644 ../org.citra_emu.citra.svg
/app/share/icons/hicolor/scalable/apps/citra.svg
- >-
install -Dm644 ../dist/icon.png
/app/share/icons/hicolor/512x512/apps/citra.png
- >-
mv /app/share/mime/packages/citra.xml
/app/share/mime/packages/org.citra_emu.citra.xml
- >-
sed 's/citra/org.citra_emu.citra/g' -i
/app/share/mime/packages/org.citra_emu.citra.xml
sources: sources:
- type: archive - type: archive
url: >- url: >-
https://github.com/citra-emu/citra-nightly/releases/download/nightly-1898/citra-unified-source-20230504-70335a7.tar.xz https://github.com/citra-emu/citra-nightly/releases/download/nightly-2009/citra-unified-source-20231012-40ba522.tar.xz
sha256: b320585bd8c4c075f63d3d9c74b830718e58fcf04d987a5dcead402a72abf753 sha256: 927739892fff5d1b325b07182ab29a7355f58866debe60da1d6620680773ac97
x-checker-data: x-checker-data:
type: json type: json
url: https://api.github.com/repos/citra-emu/citra-nightly/releases/latest url: https://api.github.com/repos/citra-emu/citra-nightly/releases/latest
@ -649,8 +654,11 @@ modules:
.assets[] | .browser_download_url | .assets[] | .browser_download_url |
match("https://.+citra-unified-source-.+.xz$") | .string match("https://.+citra-unified-source-.+.xz$") | .string
is-main-source: true is-main-source: true
- type: patch - type: file
path: rd-submodules/citra/unified-source-compat.patch path: rd-submodules/citra/org.citra_emu.citra.svg
- type: file
path: rd-submodules/citra/citra-launcher.sh
# CITRA - END # CITRA - END

View file

@ -0,0 +1,25 @@
#!/bin/bash -e
report_error() {
read -r -d '|' MESSAGE <<EOF
Unfortunately, Citra seems to have crashed.
We kindly ask you to submit a bug report to <a href="https://github.com/flathub/org.citra_emu.citra/issues">https://github.com/flathub/org.citra_emu.citra/issues</a>.
When submitting a bug report, please attach your <b>system information</b> and the <b>Citra log file</b>.
You seem to be using ${XDG_SESSION_DESKTOP} ${DESKTOP_SESSION} (${XDG_SESSION_TYPE}):
To obtain Citra log files, please see <a href="https://community.citra-emu.org/t/how-to-upload-the-log-file/296">this guide</a>.
To obtain your system information, please install <tt>inxi</tt> and run <tt>inxi -v3</tt>. |
EOF
zenity --warning --no-wrap --title "That's awkward ..." --text "$MESSAGE"
}
unset VK_ICD_FILENAMES VK_DRIVER_FILES
# Discord RPC
for i in {0..9}; do
test -S "$XDG_RUNTIME_DIR"/"discord-ipc-$i" || ln -sf {app/com.discordapp.Discord,"$XDG_RUNTIME_DIR"}/"discord-ipc-$i";
done
if ! prlimit --nofile=8192 citra-qt "$@"; then
report_error
fi

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -1,56 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 710f3fcfb..e5f4f4687 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -94,7 +94,11 @@ function(check_submodules_present)
endif()
endforeach()
endfunction()
-check_submodules_present()
+
+if (EXISTS "${PROJECT_SOURCE_DIR}/.git/objects")
+ # only check submodules when source is obtained via Git
+ check_submodules_present()
+endif()
configure_file(${PROJECT_SOURCE_DIR}/dist/compatibility_list/compatibility_list.qrc
${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc
diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake
index a011c6cbf..87e9eef35 100644
--- a/CMakeModules/GenerateSCMRev.cmake
+++ b/CMakeModules/GenerateSCMRev.cmake
@@ -6,15 +6,27 @@ endfunction()
list(APPEND CMAKE_MODULE_PATH "${SRC_DIR}/externals/cmake-modules")
-# Find the package here with the known path so that the GetGit commands can find it as well
-find_package(Git QUIET PATHS "${GIT_EXECUTABLE}")
-
# generate git/build information
-include(GetGitRevisionDescription)
-get_git_head_revision(GIT_REF_SPEC GIT_REV)
-git_describe(GIT_DESC --always --long --dirty)
-git_branch_name(GIT_BRANCH)
get_timestamp(BUILD_DATE)
+if (EXISTS "${SRC_DIR}/.git/objects")
+ # Find the package here with the known path so that the GetGit commands can find it as well
+ find_package(Git QUIET PATHS "${GIT_EXECUTABLE}")
+ # only use Git to check revision info when source is obtained via Git
+ include(GetGitRevisionDescription)
+ get_git_head_revision(GIT_REF_SPEC GIT_REV)
+ git_describe(GIT_DESC --always --long --dirty)
+ git_branch_name(GIT_BRANCH)
+elseif(EXISTS "${SRC_DIR}/GIT-COMMIT" AND EXISTS "${SRC_DIR}/GIT-TAG")
+ # unified source archive
+ file(READ "${SRC_DIR}/GIT-COMMIT" GIT_REV_RAW LIMIT 64)
+ string(STRIP "${GIT_REV_RAW}" GIT_REV)
+ string(SUBSTRING "${GIT_REV_RAW}" 0 9 GIT_DESC)
+ set(GIT_BRANCH "HEAD")
+else()
+ # self-packed archive?
+ set(GIT_DESC "UNKNOWN")
+ set(GIT_BRANCH "UNKNOWN")
+endif()
# Generate cpp with Git revision from template
# Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well