Ctrl K
ComunidadGuías…

dev.nicx.mimick.local.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
app-id: dev.nicx.mimick
runtime: org.gnome.Platform
runtime-version: "51"
sdk: org.gnome.Sdk
sdk-extensions:
  - org.freedesktop.Sdk.Extension.rust-stable
  - org.freedesktop.Sdk.Extension.llvm22
command: mimick

build-options:
  append-path: /usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/llvm22/bin
  env:
    CARGO_HOME: /run/build/mimick/cargo
    LIBCLANG_PATH: /usr/lib/sdk/llvm22/lib

finish-args:
  - --socket=wayland
  - --socket=fallback-x11
  - --device=dri
  - --share=ipc
  - --socket=pulseaudio
  - --talk-name=org.kde.StatusNotifierWatcher
  - --share=network

cleanup:
  - /include
  - /lib/pkgconfig
  - /share/pkgconfig
  - '*.la'
  - '*.a'

modules:
  - name: protobuf-c
    buildsystem: autotools
    config-opts:
      - --disable-protoc
    sources:
      - type: archive
        url: https://github.com/protobuf-c/protobuf-c/releases/download/v1.5.2/protobuf-c-1.5.2.tar.gz
        sha256: e2c86271873a79c92b58fef7ebf8de1aa0df4738347a8bd5d4e65a80a16d0d24
        x-checker-data:
          type: json
          url: https://api.github.com/repos/protobuf-c/protobuf-c/releases/latest
          version-query: .tag_name | sub("^v"; "")
          url-query: .assets[] | select(.name=="protobuf-c-" + $version + ".tar.gz") | .browser_download_url

  - name: libshumate
    buildsystem: meson
    config-opts:
      - -Dgir=false
      - -Dvapi=false
      - -Dgtk_doc=false
      - -Ddemos=false
      - -Dsysprof=disabled
    sources:
      - type: archive
        url: https://download.gnome.org/sources/libshumate/1.7/libshumate-1.7.0.tar.xz
        sha256: 3896cc4b6a7bf83141c27df23ce48cdd68467603bc6b764960307cdcbbef80e5
        x-checker-data:
          type: gnome
          name: libshumate

  - name: mimick
    buildsystem: simple
    build-options:
      env:
        # Local builds skip whole-program optimisation, which shrinks the binary a little
        # but takes most of a release build's time; dev.nicx.mimick.yml keeps it.
        CARGO_PROFILE_RELEASE_LTO: "off"
        CARGO_PROFILE_RELEASE_CODEGEN_UNITS: "16"
        CARGO_PROFILE_RELEASE_INCREMENTAL: "true"
    build-commands:
      - mv cargo/config cargo/config.toml
      # flatpak-builder mounts /run/ccache from .flatpak-builder/ccache on every build, so a
      # target dir there survives and cargo rebuilds only what changed. CI starts without it.
      - >-
        TARGET=$( [ -d /run/ccache ] && echo /run/ccache/mimick-target || echo target );
        cargo --offline build --release --target-dir "$TARGET" &&
        install -Dm755 "$TARGET/release/mimick" /app/bin/mimick
      - scripts/i18n.sh install /app/share/locale
      - scripts/i18n.sh merge setup/dev.nicx.mimick.desktop /app/share/applications/dev.nicx.mimick.desktop
      - install -Dm644 src/assets/icon.svg /app/share/icons/hicolor/scalable/apps/dev.nicx.mimick.svg
      - install -Dm644 src/assets/256x256/apps/dev.nicx.mimick.png /app/share/icons/hicolor/256x256/apps/dev.nicx.mimick.png
      - install -Dm644 src/assets/512x512/apps/dev.nicx.mimick.png /app/share/icons/hicolor/512x512/apps/dev.nicx.mimick.png
      - install -Dm644 src/assets/symbolic/apps/dev.nicx.mimick-symbolic.svg /app/share/icons/hicolor/symbolic/apps/dev.nicx.mimick-symbolic.svg
      - scripts/i18n.sh merge setup/metainfo/dev.nicx.mimick.metainfo.xml /app/share/metainfo/dev.nicx.mimick.metainfo.xml
    sources:
      - type: dir
        path: .
        skip:
          - .git
          - build-dir
          - target
          # Not needed to build, and about 2 GB to copy into the sandbox every time.
          - tests
          - flatpak-venv
          - docs
          - pv_docs
          - site
          - wiki
          - .github
      - cargo-sources.json