mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-25 05:06:24 +03:00
124 lines
3.3 KiB
YAML
124 lines
3.3 KiB
YAML
name: ghostty
|
|
base: core24
|
|
summary: A terminal emulator
|
|
description: |
|
|
Ghostty is a fast, feature-rich, and cross-platform terminal emulator that
|
|
uses platform-native UI and GPU acceleration.
|
|
grade: stable
|
|
confinement: classic
|
|
contact: https://github.com/ghostty-org/ghostty/discussions
|
|
issues: https://github.com/ghostty-org/ghostty/issues
|
|
website: https://ghostty.org
|
|
license: MIT
|
|
icon: images/icons/icon_512.png
|
|
adopt-info: ghostty
|
|
|
|
platforms:
|
|
amd64:
|
|
arm64:
|
|
|
|
apps:
|
|
ghostty:
|
|
command: bin/ghostty
|
|
command-chain: [bin/launcher]
|
|
completer: share/bash-completion/completions/ghostty.bash
|
|
desktop: share/applications/com.mitchellh.ghostty.desktop
|
|
environment:
|
|
PATH: /snap/ghostty/current/bin:/snap/ghostty/current/usr/bin:$PATH
|
|
LC_ALL: C.UTF-8
|
|
GHOSTTY_RESOURCES_DIR: /snap/ghostty/current/share/ghostty
|
|
|
|
parts:
|
|
launcher:
|
|
plugin: dump
|
|
source: snap/local
|
|
source-type: local
|
|
organize:
|
|
launcher: bin/
|
|
|
|
zig:
|
|
plugin: nil
|
|
build-packages:
|
|
- curl
|
|
override-pull: |
|
|
set -ex
|
|
case "$CRAFT_ARCH_BUILD_FOR" in
|
|
amd64) arch=x86_64 ;;
|
|
arm64) arch=aarch64 ;;
|
|
*) arch="" ;;
|
|
esac
|
|
|
|
rm -rf $CRAFT_PART_SRC/*
|
|
|
|
if [[ -n $arch ]]; then
|
|
curl -LO --retry-connrefused --retry 10 https://ziglang.org/download/0.13.0/zig-linux-$arch-0.13.0.tar.xz
|
|
else
|
|
echo "Unsupported arch"
|
|
exit 1
|
|
fi
|
|
|
|
tar xf zig-lin*xz
|
|
rm -f *xz
|
|
mv zig-linux*/* .
|
|
prime:
|
|
- -*
|
|
|
|
ghostty:
|
|
source: .
|
|
after: [zig]
|
|
plugin: nil
|
|
build-attributes: [ enable-patchelf ]
|
|
build-packages:
|
|
- libgtk-4-dev
|
|
- libadwaita-1-dev
|
|
- git
|
|
override-build: |
|
|
craftctl set version=$(grep version build.zig.zon |awk -F '"' '{print $2}')-$(git describe --abbrev=8)
|
|
$CRAFT_PART_SRC/../../zig/src/zig build -Doptimize=ReleaseFast
|
|
cp -rp zig-out/* $CRAFT_PART_INSTALL/
|
|
sed -i 's|Icon=com.mitchellh.ghostty|Icon=/snap/ghostty/current/share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png|g' $CRAFT_PART_INSTALL/share/applications/com.mitchellh.ghostty.desktop
|
|
|
|
libs:
|
|
plugin: nil
|
|
build-attributes: [enable-patchelf]
|
|
stage-packages:
|
|
- libadwaita-1-0
|
|
- libgtk-4-1
|
|
- libgtk-4-media-gstreamer
|
|
- ibus-gtk4
|
|
- libpciaccess0
|
|
- libtinfo6
|
|
- libedit2
|
|
- libelf1t64
|
|
- libsensors5
|
|
- libllvm17
|
|
- libunistring5
|
|
- gnome-text-editor # Needed for config editor
|
|
- on amd64: [i965-va-driver,libdrm-intel1,libdrm-nouveau2,libdrm-amdgpu1,libdrm-radeon1]
|
|
stage:
|
|
# The libraries in dri need no-patchelf, so they come from the mesa-unpatched part
|
|
- -usr/lib/*/dri
|
|
|
|
mesa:
|
|
plugin: nil
|
|
build-attributes: [enable-patchelf]
|
|
stage-packages:
|
|
- libglu1-mesa
|
|
- libgl1-mesa-dri
|
|
- libegl-mesa0
|
|
- libegl1
|
|
- libglx-mesa0
|
|
stage:
|
|
# The libraries in dri need no-patchelf, so they come from the mesa-unpatched part
|
|
- -usr/lib/*/dri
|
|
|
|
mesa-gl1-dri:
|
|
plugin: nil
|
|
stage-packages:
|
|
- libgl1-mesa-dri
|
|
build-attributes: [no-patchelf]
|
|
stage:
|
|
# Only the libraries in dri need to not be patched, the rest come from the mesa part
|
|
# Otherwise snapcraft may strip the build ID and cause the driver to crash
|
|
- usr/lib/*/dri
|