77 lines
3.0 KiB
Bash
77 lines
3.0 KiB
Bash
# Maintainer: omarchy-mac
|
|
# Contributor: Burgess Leo (AUR zed-bin)
|
|
#
|
|
# Zed for aarch64, repacked from the official vendor release.
|
|
# Keep the canonical name used by Omarchy and Arch's x86_64 package.
|
|
# Adapted from omarchy-mac/omarchy-pkgs-aarch64 PR #25.
|
|
|
|
pkgname=zed
|
|
pkgver=1.20.2
|
|
pkgrel=1
|
|
pkgdesc='A high-performance, multiplayer code editor from the creators of Atom and Tree-sitter'
|
|
arch=('aarch64')
|
|
url='https://zed.dev'
|
|
license=('GPL-3.0-or-later' 'AGPL-3.0-or-later' 'Apache-2.0')
|
|
depends=('alsa-lib'
|
|
'glib2'
|
|
'glibc'
|
|
'gcc-libs'
|
|
'libx11'
|
|
'libxcb'
|
|
'libxkbcommon'
|
|
'libxkbcommon-x11'
|
|
'vulkan-driver'
|
|
'vulkan-icd-loader'
|
|
'wayland'
|
|
'zlib')
|
|
optdepends=('openbsd-netcat: SSH remote development support'
|
|
'clang: improved C/C++ language support'
|
|
'cmake: building C/C++ projects'
|
|
'gopls: improved Go language support'
|
|
'pyright: improved Python language support'
|
|
'rust-analyzer: improved Rust language support'
|
|
'typescript-language-server: improved TypeScript/JavaScript support'
|
|
'org.freedesktop.secrets: to keep you logged into your Zed account')
|
|
conflicts=('zed-bin' 'zed-git' 'zed-preview-bin')
|
|
# The vendor binaries are already stripped.
|
|
options=('!strip')
|
|
source_aarch64=("${pkgname}-${pkgver}-aarch64.tar.gz::https://github.com/zed-industries/zed/releases/download/v${pkgver}/zed-linux-aarch64.tar.gz")
|
|
sha256sums_aarch64=('715a5252234522bc9e8e4a8c1f9b462cf7bb2881eed23b7c8ae650b41c24aa6f')
|
|
|
|
package() {
|
|
cd 'zed.app'
|
|
|
|
# CLI as zed.real, wrapped so the editor never self-updates: it reads
|
|
# ZED_UPDATE_EXPLANATION at startup and skips its own update polling when
|
|
# it is set. Updates arrive through pacman.
|
|
install -Dm755 'bin/zed' "${pkgdir}/usr/bin/zed.real"
|
|
cat > "${pkgdir}/usr/bin/zed" <<'SH'
|
|
#!/bin/sh
|
|
export ZED_UPDATE_EXPLANATION='Updates are handled by your package manager'
|
|
exec /usr/bin/zed.real "$@"
|
|
SH
|
|
chmod 755 "${pkgdir}/usr/bin/zed"
|
|
# Arch extra names the CLI zeditor; keep that spelling working too.
|
|
ln -s zed "${pkgdir}/usr/bin/zeditor"
|
|
|
|
# The CLI looks for ../libexec/zed-editor, then ../lib/zed/zed-editor.
|
|
install -Dm755 'libexec/zed-editor' "${pkgdir}/usr/lib/zed/zed-editor"
|
|
|
|
# Vendor desktop entry verbatim: Exec=zed and Icon=zed resolve through
|
|
# PATH and hicolor. gtk-launch dev.zed.Zed needs exactly this file name.
|
|
install -Dm644 'share/applications/dev.zed.Zed.desktop' \
|
|
"${pkgdir}/usr/share/applications/dev.zed.Zed.desktop"
|
|
|
|
local size
|
|
for size in 512x512 1024x1024; do
|
|
install -Dm644 "share/icons/hicolor/${size}/apps/zed.png" \
|
|
"${pkgdir}/usr/share/icons/hicolor/${size}/apps/zed.png"
|
|
done
|
|
|
|
install -Dm644 'licenses.md' "${pkgdir}/usr/share/licenses/${pkgname}/licenses.md"
|
|
|
|
# zed.app/lib (bundled libxcb, libstdc++, libxkbcommon, ...) is deliberately
|
|
# not shipped; the depends above provide them. Both binaries carry
|
|
# RPATH=$ORIGIN/../lib, which is harmless when that directory is absent.
|
|
}
|