app-id: com.heimdallscan.app runtime: org.gnome.Platform runtime-version: '48' sdk: org.gnome.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.rust-stable - org.freedesktop.Sdk.Extension.node20 command: heimdallscan finish-args: # Network access for OAuth and YouTube API - --share=network # Display access - --share=ipc - --socket=fallback-x11 - --socket=wayland # GPU acceleration for WebKit - --device=dri # For opening URLs in browser (OAuth flow) - --talk-name=org.freedesktop.portal.Desktop - --talk-name=org.freedesktop.portal.OpenURI build-options: append-path: /usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/node20/bin build-args: - --share=network env: CARGO_HOME: /run/build/heimdallscan/cargo npm_config_nodedir: /usr/lib/sdk/node20 # Install npm global packages to build directory npm_config_prefix: /run/build/heimdallscan/.npm-global PATH: /run/build/heimdallscan/.npm-global/bin:/usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/node20/bin:/usr/bin:/bin modules: # Main application - name: heimdallscan buildsystem: simple build-options: build-args: - --share=network env: CARGO_HOME: /run/build/heimdallscan/cargo npm_config_prefix: /run/build/heimdallscan/.npm-global PATH: /run/build/heimdallscan/.npm-global/bin:/usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/node20/bin:/usr/bin:/bin build-commands: # Create directory for npm global packages - mkdir -p /run/build/heimdallscan/.npm-global # Install pnpm to writable location - npm install -g pnpm # Install web dependencies and build - cd web && pnpm install --frozen-lockfile - cd web && pnpm run build # Install desktop dependencies - cd desktop && npm install # Build Tauri application with embedded web assets # CI=true skips beforeBuildCommand since we already built web - cd desktop && CI=true npx tauri build --bundles deb # Install the binary (binary is named 'app' from Cargo.toml package name) - install -Dm755 desktop/src-tauri/target/release/app ${FLATPAK_DEST}/bin/heimdallscan # Install desktop file - install -Dm644 flatpak/com.heimdallscan.app.desktop ${FLATPAK_DEST}/share/applications/com.heimdallscan.app.desktop # Install metainfo - install -Dm644 flatpak/com.heimdallscan.app.metainfo.xml ${FLATPAK_DEST}/share/metainfo/com.heimdallscan.app.metainfo.xml # Install icons - install -Dm644 desktop/src-tauri/icons/32x32.png ${FLATPAK_DEST}/share/icons/hicolor/32x32/apps/com.heimdallscan.app.png - install -Dm644 desktop/src-tauri/icons/64x64.png ${FLATPAK_DEST}/share/icons/hicolor/64x64/apps/com.heimdallscan.app.png - install -Dm644 desktop/src-tauri/icons/128x128.png ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps/com.heimdallscan.app.png - install -Dm644 desktop/src-tauri/icons/128x128@2x.png ${FLATPAK_DEST}/share/icons/hicolor/256x256/apps/com.heimdallscan.app.png sources: - type: dir path: ..