# Note: the flatpak build is likely broken right now and is not actively
# maintained. We may completely remove this file in the future. For now,
# we want to keep _trying_ but its something with known issues.
app-id: com.mitchellh.ghostty
runtime: org.gnome.Platform
runtime-version: "43"
sdk: org.gnome.Sdk
default-branch: tip
command: ghostty
build-options:
  append-path: /app/tmp/zig
  strip: false
  no-debuginfo: true
# Note: we have to use cleanup-commands because flatpak-builder doesn't
# run "cleanup" on its own: https://github.com/flatpak/flatpak-builder/issues/14
cleanup-commands:
  - "rm -rf /app/tmp"
finish-args:
  # 3D rendering
  - --device=dri
  # Windowing
  - --share=ipc
  - --socket=x11
  - --socket=wayland
  # Files (we are a terminal so we need all of them)
  - --filesystem=host
  # So we can escape the sandbox
  - --talk-name=org.freedesktop.Flatpak
modules:
  # Note: this should be kept in sync with our flake.nix. Over time this
  # should stabilize to being a release version and not a nightly.
  - name: zig
    buildsystem: simple
    build-commands:
      - mkdir -p /app/tmp/zig
      - cp -r ./* /app/tmp/zig
    sources:
      - type: archive
        url: https://ziglang.org/builds/zig-linux-x86_64-0.12.0-dev.141+ddf5859c2.tar.xz
        sha256: eaf519b1ec3cb0f3c9bcbc47ead5f50610f9c106279a35b9feb09bed8afc628b
        only-arches:
          - x86_64
      - type: archive
        url: https://ziglang.org/builds/zig-linux-aarch64-0.12.0-dev.141+ddf5859c2.tar.xz
        sha256: 4f918ae185a5dc281b5d30be92cd4c36ebd77b8665729c5e2c47a8eeccd243e8
        only-arches:
          - aarch64

  - name: ghostty
    buildsystem: simple
    build-commands:
      - MACH_SDK_PATH="$(pwd)/vendor/mach-sdk" zig build -Doptimize=ReleaseSafe -Dcpu=baseline -Dflatpak=true -Dapp-runtime=gtk --prefix /app
    sources:
      - type: dir
        path: .
        skip:
          - .flatpak-builder
          - zig-cache
          - zig-out
