name: zed
title: Zed
base: core24
version: "$RELEASE_VERSION"
summary: The editor for what's next
description: |
  Zed is a modern open-source code editor, built from the ground up in Rust with
  a GPU-accelerated renderer. We help you build software faster than ever before.
grade: stable
confinement: classic
compression: lzo
website: https://zed.dev/
source-code: https://github.com/zed-industries/zed
issues: https://github.com/zed-industries/zed/issues
contact: https://zed.dev/community-links#support-and-feedback

parts:
  zed:
    plugin: dump
    source: "https://github.com/zed-industries/zed/releases/download/v$RELEASE_VERSION/zed-linux-x86_64.tar.gz"

    organize:
      # These renames seem to not be necessary, but it's tidier.
      bin: usr/bin
      libexec: usr/libexec

    stage-packages:
      - libasound2t64
      # snapcraft has a lint that this is unused, but without it Zed exits with
      # "Missing Vulkan entry points: LibraryLoadFailure" in blade_graphics.
      - libvulkan1
      # snapcraft has a lint that this is unused, but without it Zed exits with
      # "NoWaylandLib" when run with Wayland.
      - libwayland-client0
      - libxcb1
      - libxkbcommon-x11-0
      - libxkbcommon0

    build-attributes:
      - enable-patchelf

    prime:
      # Omit unneeded files from the tarball
      - -lib
      - -licenses.md
      - -share

      # Omit unneeded files from stage-packages
      - -etc
      - -usr/share/doc
      - -usr/share/lintian
      - -usr/share/man

apps:
  zed:
    command: usr/bin/zed
    common-id: dev.zed.Zed
