diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index c1110a1a..11ffff98 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -4,7 +4,7 @@ runtime-version: '5.15-21.08' sdk: org.kde.Sdk # Needed for rpcs3 sdk-extensions: -- org.freedesktop.Sdk.Extension.llvm13 + - org.freedesktop.Sdk.Extension.llvm13 # /Needed for rpcs3 # Needed for Yuzu base: io.qt.qtwebengine.BaseApp @@ -26,7 +26,6 @@ finish-args: - --talk-name=org.freedesktop.ScreenSaver - --talk-name=org.freedesktop.PowerManagement.Inhibit - --talk-name=org.freedesktop.login1 - #- --filesystem=host - --filesystem=xdg-run/app/com.discordapp.Discord:create # Yuzu - --filesystem=home:ro @@ -34,6 +33,22 @@ finish-args: # Dolphin - --allow=bluetooth #- --env=QT_QPA_PLATFORM=xcb not sure if this will break something + # rpcs3 + - --socket=fallback-x11 + +# rpcs3 +add-extensions: + org.freedesktop.Platform.ffmpeg-full: + directory: lib/ffmpeg + add-ld-path: . + version: '21.08' + autodownload: true + autodelete: false +cleanup-commands: + - mkdir -p ${FLATPAK_DEST}/lib/ffmpeg +modules: + - shared-modules/glu/glu-9.json + - shared-modules/glew/glew.json cleanup: # ES-DE @@ -717,6 +732,101 @@ modules: # XEMU - END + # RPCS3 - START + # https://github.com/flathub/net.rpcs3.RPCS3 + + - name: rpcs3-llvm + buildsystem: cmake-ninja + builddir: true + build-options: + cflags: &optflags -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong + -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection + -fcf-protection -fno-omit-frame-pointer + cflags-override: true + cxxflags: -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong + -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection + -fcf-protection -fno-omit-frame-pointer -msse -msse2 -mcx16 + cxxflags-override: true + env: + AR: llvm-ar + CC: clang + CXX: clang++ + RANLIB: llvm-ranlib + ldflags: -fuse-ld=lld + prepend-ld-library-path: /usr/lib/sdk/llvm13/lib + prepend-path: /usr/lib/sdk/llvm13/bin + config-opts: + - -DCMAKE_BUILD_TYPE=Release + - -DBUILD_SHARED_LIBS=OFF + - -DLLVM_CCACHE_BUILD=ON + - -DLLVM_TARGETS_TO_BUILD='X86' + - -DLLVM_BUILD_RUNTIME=OFF + - -DLLVM_BUILD_TOOLS=OFF + - -DLLVM_INCLUDE_DOCS=OFF + - -DLLVM_INCLUDE_EXAMPLES=OFF + - -DLLVM_INCLUDE_TESTS=OFF + - -DLLVM_INCLUDE_TOOLS=OFF + - -DLLVM_INCLUDE_UTILS=OFF + - -DLLVM_USE_INTEL_JITEVENTS=ON + - -DLLVM_USE_PERF=ON + - -DLLVM_ENABLE_Z3_SOLVER=OFF + - -DCMAKE_CXX_STANDARD=17 + - -DITTAPI_SOURCE_DIR=/run/build/rpcs3-llvm/ittapi + - -Wno-dev + cleanup: + - '*' + sources: + - type: git + url: https://github.com/RPCS3/llvm-mirror.git + branch: master + commit: 509d31ad89676522f7121b3bb8688f7d29b7ee60 + - type: git + url: https://github.com/intel/ittapi.git + dest: ittapi/ittapi + disable-shallow-clone: true + + - name: rpcs3 + buildsystem: cmake-ninja + builddir: true + build-options: + append-ld-library-path: /usr/lib/sdk/llvm13/lib + append-path: /usr/lib/sdk/llvm13/bin + cflags: *optflags + cflags-override: true + cxxflags: *optflags + cxxflags-override: true + env: + AR: llvm-ar + CC: clang + CXX: clang++ + RANLIB: llvm-ranlib + ldflags: -fuse-ld=lld + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_LLVM_SUBMODULE=OFF + - -DUSE_NATIVE_INSTRUCTIONS=OFF + - -DUSE_PRECOMPILED_HEADERS=OFF + - -DUSE_SYSTEM_CURL=ON + - -DUSE_SYSTEM_FFMPEG=ON + - -DUSE_SYSTEM_LIBPNG=ON + - -DUSE_SYSTEM_ZLIB=ON + - -Wno-dev + post-install: + - | + set -eux; + sed -i 's|RPCS3|net.rpcs3.RPCS3|' ${FLATPAK_DEST}/share/metainfo/rpcs3.metainfo.xml; + COMM_TAG="$(awk -F'[\{,]' '/version{.*}/{printf "%d.%d.%d", $2, $3, $4}' ../rpcs3/rpcs3_version.cpp)"; + COMM_COUNT="$(git rev-list --count HEAD)"; + COMM_HASH="$(git rev-parse --short=8 HEAD)"; + sed -i 's|||' ${FLATPAK_DEST}/share/metainfo/rpcs3.metainfo.xml; + sources: + - type: git + url: https://github.com/RPCS3/rpcs3.git + branch: master + commit: e9570d1a0045926f63ec8ea9af68f81743d4f365 + + # RPCS3 - START + # External manifests end