org.duckstation.DuckStation.yaml (2881B)
1 app-id: "org.duckstation.DuckStation" 2 runtime: "org.kde.Platform" 3 runtime-version: "6.7" 4 sdk: "org.kde.Sdk" 5 sdk-extensions: 6 - "org.freedesktop.Sdk.Extension.llvm17" 7 add-extensions: 8 "org.freedesktop.Platform.ffmpeg-full": 9 directory: "lib/ffmpeg" 10 version: "23.08" 11 add-ld-path: "." 12 autodownload: true 13 14 command: "duckstation-qt" 15 16 finish-args: 17 - "--device=all" 18 - "--allow=bluetooth" 19 - "--share=network" 20 - "--share=ipc" 21 - "--socket=pulseaudio" 22 - "--talk-name=org.freedesktop.ScreenSaver" 23 24 # Wayland is disabled due to various QtWayland issues, causing broken UI. 25 - "--socket=x11" 26 - "--env=QT_QPA_PLATFORM=xcb" 27 28 modules: 29 # Dependencies. 30 - "modules/20-sdl2.yaml" 31 - "modules/21-libbacktrace.yaml" 32 - "modules/22-shaderc.yaml" 33 - "modules/23-spirv-cross.yaml" 34 - "modules/24-cpuinfo.yaml" 35 - "modules/25-discord-rpc.yaml" 36 - "modules/26-soundtouch.yaml" 37 - "modules/27-lunasvg.yaml" 38 39 # Main module. 40 - name: duckstation 41 buildsystem: cmake-ninja 42 builddir: true 43 no-make-install: true 44 build-options: 45 # Preserve debug information, it is needed for backtraces. 46 strip: false 47 no-debuginfo: true 48 49 # Prevent flatpak defaults of fortify etc from creeping in. 50 cflags: "" 51 cflags-override: true 52 cxxflags: "" 53 cxxflags-override: true 54 55 config-opts: 56 # Flatpak build does not appear to default to Release. 57 - "-DCMAKE_BUILD_TYPE=Release" 58 59 # We're not running tests as part of the flatpak build. 60 - '-DBUILD_TESTS=OFF' 61 62 # Make sure we're using ThinLTO. 63 - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON" 64 - "-DCMAKE_C_COMPILER=/usr/lib/sdk/llvm17/bin/clang" 65 - "-DCMAKE_CXX_COMPILER=/usr/lib/sdk/llvm17/bin/clang++" 66 - "-DCMAKE_EXE_LINKER_FLAGS_INIT=-fuse-ld=lld" 67 - "-DCMAKE_MODULE_LINKER_FLAGS_INIT=-fuse-ld=lld" 68 - "-DCMAKE_SHARED_LINKER_FLAGS_INIT=-fuse-ld=lld" 69 sources: 70 - type: dir 71 path: ../.. 72 73 post-install: 74 # Copy the binary distribution. 75 - "cp -a bin \"${FLATPAK_DEST}\"" 76 77 # Manually copy desktop file/metadata, it's not done as part of the regular build. 78 - >- 79 install -Dm644 80 "${FLATPAK_BUILDER_BUILDDIR}/scripts/org.duckstation.DuckStation.png" 81 "${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/org.duckstation.DuckStation.png" 82 - >- 83 install -Dm644 84 "${FLATPAK_BUILDER_BUILDDIR}/scripts/org.duckstation.DuckStation.desktop" 85 "${FLATPAK_DEST}/share/applications/org.duckstation.DuckStation.desktop" 86 - >- 87 install -Dm644 88 "${FLATPAK_BUILDER_BUILDDIR}/scripts/flatpak/org.duckstation.DuckStation.metainfo.xml" 89 "${FLATPAK_DEST}/share/metainfo/org.duckstation.DuckStation.metainfo.xml" 90 91 # Ensure ffmpeg-full mount point exists. 92 - "mkdir -p \"${FLATPAK_DEST}/lib/ffmpeg\""