--- app-id: "@PROJECT_FQDN@" runtime: org.freedesktop.Platform runtime-version: "23.08" # requires CUDA >= 12.2 sdk: org.freedesktop.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.node20 command: sunshine separate-locales: false finish-args: - --device=all # access all devices - --env=PULSE_PROP_media.category=Manager # allow sunshine to manage audio sinks - --env=SUNSHINE_MIGRATE_CONFIG=1 # migrate config files to the new location - --filesystem=home # need to save files in user's home directory - --share=ipc # required for X11 shared memory extension - --share=network # access network - --socket=pulseaudio # play sounds using pulseaudio - --socket=wayland # show windows using Wayland - --socket=fallback-x11 # show windows using X11 - --system-talk-name=org.freedesktop.Avahi # talk to avahi on the system bus - --talk-name=org.freedesktop.Flatpak # talk to flatpak on the session bus cleanup: - /include - /lib/cmake - /lib/pkgconfig - /lib/*.la - /lib/*.a - /share/man modules: # Test dependencies - "modules/xvfb/xvfb.json" # Build dependencies - "modules/nlohmann_json.json" # Runtime dependencies - shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json - "modules/avahi.json" - "modules/boost.json" - "modules/libevdev.json" - "modules/libnotify.json" - "modules/miniupnpc.json" - "modules/numactl.json" # Caching is configured until here, not including CUDA, since it is too large for GitHub cache - "modules/cuda.json" - name: sunshine builddir: true build-options: append-path: /usr/lib/sdk/node20/bin env: BUILD_VERSION: "@BUILD_VERSION@" BRANCH: "@GITHUB_BRANCH@" COMMIT: "@GITHUB_COMMIT@" XDG_CACHE_HOME: /run/build/sunshine/flatpak-node/cache npm_config_cache: /run/build/sunshine/flatpak-node/npm-cache npm_config_nodedir: /usr/lib/sdk/node20 npm_config_offline: 'true' NPM_CONFIG_LOGLEVEL: info buildsystem: cmake-ninja config-opts: - -DBOOST_USE_STATIC=OFF - -DBUILD_DOCS=OFF - -DBUILD_WERROR=ON - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CUDA_COMPILER=/app/cuda/bin/nvcc - -DSUNSHINE_ASSETS_DIR=share/sunshine - -DSUNSHINE_BUILD_FLATPAK=ON - -DSUNSHINE_EXECUTABLE_PATH=/app/bin/sunshine - -DSUNSHINE_ENABLE_WAYLAND=ON - -DSUNSHINE_ENABLE_X11=ON - -DSUNSHINE_ENABLE_DRM=ON - -DSUNSHINE_ENABLE_CUDA=ON - -DSUNSHINE_PUBLISHER_NAME='LizardByte' - -DSUNSHINE_PUBLISHER_WEBSITE='https://app.lizardbyte.dev' - -DSUNSHINE_PUBLISHER_ISSUE_URL='https://app.lizardbyte.dev/support' no-make-install: false post-install: - install -D $FLATPAK_BUILDER_BUILDDIR/packaging/linux/flatpak/scripts/* /app/bin - install -D $FLATPAK_BUILDER_BUILDDIR/packaging/linux/flatpak/apps.json /app/share/sunshine/apps.json run-tests: true test-rule: "" # empty to disable test-commands: - npm run serve & xvfb-run tests/test_sunshine --gtest_color=yes sources: - generated-sources.json - type: git url: "@GITHUB_CLONE_URL@" commit: "@GITHUB_COMMIT@" - type: file path: package-lock.json