app-id: com.matthiasn.lotti runtime: org.freedesktop.Platform runtime-version: '25.08' sdk: org.freedesktop.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.llvm20 command: lotti finish-args: - --share=network - --share=ipc - --socket=fallback-x11 - --socket=wayland - --socket=pulseaudio - --device=dri - --filesystem=xdg-documents/Lotti:create - --filesystem=xdg-pictures:ro - --filesystem=xdg-download/Lotti:create # Cursor theme access (fixes "Unable to load from cursor theme" warning) - --env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons modules: - name: python3-jinja2 buildsystem: simple build-commands: - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "MarkupSafe" "jinja2" --no-build-isolation sources: - type: file url: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl sha256: bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d - type: file url: https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz sha256: d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b - name: libplacebo buildsystem: meson config-opts: - -Dglslang=disabled - -Dshaderc=disabled - -Dvulkan=disabled - -Dd3d11=disabled - -Ddemos=false - -Dopengl=disabled - -Dtests=false sources: - type: archive url: https://github.com/haasn/libplacebo/archive/refs/tags/v6.338.2.tar.gz sha256: 2f1e624e09d72a8c9db70f910f7560e764a1c126dae42acc5b3bcef836a7aec6 - name: libass buildsystem: autotools config-opts: - --disable-static sources: - type: archive url: https://github.com/libass/libass/releases/download/0.17.1/libass-0.17.1.tar.xz sha256: f0da0bbfba476c16ae3e1cfd862256d30915911f7abaa1b16ce62ee653192784 cleanup: - /include - /lib/pkgconfig - name: libmpv buildsystem: meson config-opts: - -Dlibmpv=true - -Dlua=disabled - -Ddebug=false - -Dbuild-date=false - -Dmanpage-build=disabled - -Dsdl2=disabled - -Dvulkan=disabled sources: - type: archive url: https://github.com/mpv-player/mpv/archive/v0.38.0.tar.gz sha256: 86d9ef40b6058732f67b46d0bbda24a074fae860b3eaae05bab3145041303066 - name: libsecret buildsystem: meson config-opts: - -Dmanpage=false - -Dvapi=false - -Dgcrypt=false - -Dgtk_doc=false - -Dintrospection=false sources: - type: archive url: https://gitlab.gnome.org/GNOME/libsecret/-/archive/0.20.5/libsecret-0.20.5.tar.gz sha256: b33b9542222ea8866f6ff2d31c0ad373877c2277db546ca00cc7fdda9cbab1c3 - name: libkeybinder buildsystem: autotools sources: - type: archive url: https://github.com/kupferlauncher/keybinder/releases/download/keybinder-3.0-v0.3.2/keybinder-3.0-0.3.2.tar.gz sha256: e6e3de4e1f3b201814a956ab8f16dfc8a262db1937ff1eee4d855365398c6020 # NOTE: No separate flutter-sdk module - Flutter is included in lotti sources for flatpak-flutter - name: lotti buildsystem: simple build-options: append-path: /usr/lib/sdk/llvm20/bin:/var/lib/rustup/bin:/var/lib/flutter/bin prepend-ld-library-path: /usr/lib/sdk/llvm20/lib env: PUB_CACHE: /run/build/lotti/.pub-cache CARGO_HOME: /run/build/lotti/cargo RUSTUP_HOME: /var/lib/rustup FLUTTER_SUPPRESS_ANALYTICS: "true" build-commands: - flutter pub get --offline - export CMAKE_PREFIX_PATH=/app:$CMAKE_PREFIX_PATH - flutter build linux --release --no-pub --verbose - | arch="x64" if [ "${FLATPAK_ARCH}" = "aarch64" ]; then arch="arm64" fi cp -r build/linux/${arch}/release/bundle/* /app/ - chmod +x /app/lotti - | install -D linux/com.matthiasn.lotti.desktop /app/share/applications/com.matthiasn.lotti.desktop install -D flatpak/com.matthiasn.lotti.metainfo.xml /app/share/metainfo/com.matthiasn.lotti.metainfo.xml install -D lotti-wrapper.sh /app/bin/lotti for size in 512 256 128 64 48 32 16; do install -D "flatpak/app_icon_${size}.png" "/app/share/icons/hicolor/${size}x${size}/apps/com.matthiasn.lotti.png" done sources: # App source - type: git url: https://github.com/matthiasn/lotti commit: COMMIT_PLACEHOLDER disable-lfs: true # Flutter SDK - inside lotti module as flatpak-flutter expects - type: git url: https://github.com/flutter/flutter.git tag: 3.41.1 dest: flutter disable-lfs: true - type: script dest-filename: lotti-wrapper.sh commands: - cd /app - exec ./lotti "$@"