diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 72bf86e7..961713bf 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1,11 +1,11 @@ app-id: net.retrodeck.retrodeck runtime: org.kde.Platform -runtime-version: 5.15-22.08 +runtime-version: "6.5" sdk: org.kde.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3 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 add-extensions: @@ -67,7 +67,7 @@ cleanup-commands: modules: - # dependency of: CEMU + # dependency of: CEMU, CITRA - rd-submodules/shared-modules/libusb/libusb.json # 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 sha256: 4ee662847c588c3ef2fec8bfb304e8739e3dbaba87ccb9a608d691c88f5b64dc - # dependency of: CEMU (13.0.0) + # dependency of: CEMU, CITRA <-(13.0.0) - name: glslang buildsystem: cmake-ninja config-opts: @@ -610,37 +610,42 @@ modules: # Yuzu - END # CITRA - START - # DO NOT UPDATE! WENT ON QT6 # 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 buildsystem: cmake-ninja builddir: true config-opts: - '-DCMAKE_BUILD_TYPE=Release' - - '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON' - - '-DENABLE_LTO=ON' - '-DENABLE_QT_TRANSLATION=ON' - '-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON' + - '-DUSE_DISCORD_PRESENCE=ON' - '-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' - - '-DCMAKE_POLICY_DEFAULT_CMP0069=NEW' - - '-DENABLE_FDK=ON' cleanup: - /share/man - /share/pixmaps post-install: - - install -Dm644 ../dist/citra.svg /app/share/icons/hicolor/scalable/apps/citra.svg - - install -Dm644 ../dist/icon.png /app/share/icons/hicolor/512x512/apps/citra.png + - install -Dm755 ../citra-launcher.sh /app/bin/citra-launcher + - >- + 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: - type: archive url: >- - https://github.com/citra-emu/citra-nightly/releases/download/nightly-1898/citra-unified-source-20230504-70335a7.tar.xz - sha256: b320585bd8c4c075f63d3d9c74b830718e58fcf04d987a5dcead402a72abf753 + https://github.com/citra-emu/citra-nightly/releases/download/nightly-2009/citra-unified-source-20231012-40ba522.tar.xz + sha256: 927739892fff5d1b325b07182ab29a7355f58866debe60da1d6620680773ac97 x-checker-data: type: json url: https://api.github.com/repos/citra-emu/citra-nightly/releases/latest @@ -649,8 +654,11 @@ modules: .assets[] | .browser_download_url | match("https://.+citra-unified-source-.+.xz$") | .string is-main-source: true - - type: patch - path: rd-submodules/citra/unified-source-compat.patch + - type: file + path: rd-submodules/citra/org.citra_emu.citra.svg + - type: file + path: rd-submodules/citra/citra-launcher.sh + # CITRA - END diff --git a/rd-submodules/citra/citra-launcher.sh b/rd-submodules/citra/citra-launcher.sh new file mode 100644 index 00000000..33b95cfb --- /dev/null +++ b/rd-submodules/citra/citra-launcher.sh @@ -0,0 +1,25 @@ +#!/bin/bash -e + +report_error() { + read -r -d '|' MESSAGE <https://github.com/flathub/org.citra_emu.citra/issues. + +When submitting a bug report, please attach your system information and the Citra log file. +You seem to be using ${XDG_SESSION_DESKTOP} ${DESKTOP_SESSION} (${XDG_SESSION_TYPE}): +To obtain Citra log files, please see this guide. +To obtain your system information, please install inxi and run inxi -v3. | +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 \ No newline at end of file diff --git a/rd-submodules/citra/org.citra_emu.citra.svg b/rd-submodules/citra/org.citra_emu.citra.svg new file mode 100644 index 00000000..8fa09944 --- /dev/null +++ b/rd-submodules/citra/org.citra_emu.citra.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/rd-submodules/citra/unified-source-compat.patch b/rd-submodules/citra/unified-source-compat.patch deleted file mode 100644 index 6a1ca47c..00000000 --- a/rd-submodules/citra/unified-source-compat.patch +++ /dev/null @@ -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 \ No newline at end of file