app-id: io.github.solarpush.RegionToShare runtime: org.freedesktop.Platform runtime-version: '25.08' sdk: org.freedesktop.Sdk # Extensions SDK nécessaires sdk-extensions: - org.freedesktop.Sdk.Extension.rust-stable # toolchain Rust stable - org.freedesktop.Sdk.Extension.llvm20 # clang/libclang pour bindgen (PipeWire) command: region-to-share separate-locales: false finish-args: # ── Affichage ────────────────────────────────────────────────────────────── - --socket=wayland # Wayland natif (GNOME, KDE, Sway, Hyprland…) - --socket=fallback-x11 # X11 / XWayland fallback - --share=ipc # Mémoire partagée X11 (MIT-SHM) # ── GPU / DMA-BUF ────────────────────────────────────────────────────────── - --device=dri # ── PipeWire (capture Wayland) ───────────────────────────────────────────── - --filesystem=xdg-run/pipewire-0 # ── Curseurs Wayland ────────────────────────────────────────────────────── # adwaita-icon-theme est compilé dans /app, donc disponible sans accès hôte. - --env=XCURSOR_PATH=/app/share/icons:/usr/share/icons - --env=XCURSOR_THEME=Adwaita - --env=XDG_DATA_DIRS=/app/share:/usr/share # ── Supprimer DISPLAY pour éviter le timeout X11 du clipboard (arboard) ─── - --unset-env=DISPLAY # ── Options de build globales ────────────────────────────────────────────────── build-options: append-path: /usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/llvm20/bin env: CARGO_HOME: /run/build/cargo-home RUST_BACKTRACE: '1' LIBCLANG_PATH: /usr/lib/sdk/llvm20/lib BINDGEN_EXTRA_CLANG_ARGS: >- -I/usr/lib/sdk/llvm20/include -I/usr/include modules: # ── Thème de curseurs Adwaita (absent du runtime org.freedesktop.Platform) ───── - name: adwaita-icon-theme buildsystem: meson sources: - type: archive url: https://download.gnome.org/sources/adwaita-icon-theme/46/adwaita-icon-theme-46.0.tar.xz sha256: 4bcb539bd75d64da385d6fa08cbaa9ddeaceb6ac8e82b85ba6c41117bf5ba64e # ── Application principale ─────────────────────────────────────────────────────────────── - name: region-to-share buildsystem: simple build-options: append-path: /usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/llvm20/bin env: CARGO_HOME: /run/build/cargo-home LIBCLANG_PATH: /usr/lib/sdk/llvm20/lib BINDGEN_EXTRA_CLANG_ARGS: >- -I/usr/lib/sdk/llvm20/include -I/usr/include build-commands: # ── Config vendor ──────────────────────────────────────────────────────── - mkdir -p .cargo - | cat > .cargo/config.toml << 'EOF' [source.crates-io] replace-with = "vendored-sources" [source.vendored-sources] directory = "cargo/vendor" EOF # ── Compile ───────────────────────────────────────────────────────────── - cargo --offline build --release # ── Binaire ───────────────────────────────────────────────────────────── - install -Dm755 target/release/region-ui-egui /app/bin/region-to-share # ── Licence ───────────────────────────────────────────────────────────── - install -Dm644 LICENSE /app/share/licenses/io.github.solarpush.RegionToShare/LICENSE # ── Fichier .desktop ──────────────────────────────────────────────────── - install -Dm644 io.github.solarpush.RegionToShare.desktop /app/share/applications/io.github.solarpush.RegionToShare.desktop # ── Icônes ────────────────────────────────────────────────────────────── - install -Dm644 images/region-to-share-32.png /app/share/icons/hicolor/32x32/apps/io.github.solarpush.RegionToShare.png - install -Dm644 images/region-to-share-48.png /app/share/icons/hicolor/48x48/apps/io.github.solarpush.RegionToShare.png - install -Dm644 images/region-to-share-64.png /app/share/icons/hicolor/64x64/apps/io.github.solarpush.RegionToShare.png - install -Dm644 images/region-to-share-128.png /app/share/icons/hicolor/128x128/apps/io.github.solarpush.RegionToShare.png - install -Dm644 images/region-to-share-256.png /app/share/icons/hicolor/256x256/apps/io.github.solarpush.RegionToShare.png - install -Dm644 images/region-to-share-512.png /app/share/icons/hicolor/512x512/apps/io.github.solarpush.RegionToShare.png - install -Dm644 images/region-to-share.svg /app/share/icons/hicolor/scalable/apps/io.github.solarpush.RegionToShare.svg # ── AppStream metadata ─────────────────────────────────────────────────── - install -Dm644 io.github.solarpush.RegionToShare.metainfo.xml /app/share/metainfo/io.github.solarpush.RegionToShare.metainfo.xml sources: - type: dir path: . - cargo-sources.json # ───────────────────────────────────────────────────────────────────────────── # BUILD LOCAL : # flatpak-builder --force-clean --user --install build-flatpak \ # io.github.solarpush.RegionToShare.local.yml # ─────────────────────────────────────────────────────────────────────────────