duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

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\""