mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-05-05 15:33:00 +00:00
Fix flatpak packaging to a working state
This should make testing Flatpak builds a lot easier. To build, enter `flatpak/` directory and run: flatpak-builder --repo=repo builddir com.mitchellh.ghostty.yml alternatively, using org.flatpak.Builder flatpak: flatpak run -p org.flatpak.Builder \ --repo=repo \ builddir \ com.mitchellh.ghostty.yml The resulting flatpak can be installed using flatpak install ./repo com.mitchellh.ghostty Credit of AppStream metadata goes to @yorickpeterse.
This commit is contained in:
parent
17b0bf585d
commit
ebc169dbaf
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,6 +14,8 @@ zig-out/
|
||||
example/*.wasm
|
||||
test/ghostty
|
||||
test/cases/**/*.actual.png
|
||||
flatpak/builddir/
|
||||
flatpak/repo/
|
||||
|
||||
glad.zip
|
||||
/Box_test.ppm
|
||||
|
@ -1,59 +0,0 @@
|
||||
# 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
|
28
dist/linux/com.mitchellh.ghostty.metainfo.xml
vendored
Normal file
28
dist/linux/com.mitchellh.ghostty.metainfo.xml
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>com.mitchellh.ghostty</id>
|
||||
<launchable type="desktop-id">com.mitchellh.ghostty.desktop</launchable>
|
||||
<name>Ghostty</name>
|
||||
<url type="homepage">https://ghostty.org/</url>
|
||||
<summary>Ghostty is a fast, feature-rich, and cross-platform terminal emulator</summary>
|
||||
<metadata_license>MIT</metadata_license>
|
||||
<project_license>MIT</project_license>
|
||||
<content_rating type="oars-1.1" />
|
||||
<developer id="id.mitchellh">
|
||||
<name>Mitchell Hashimoto</name>
|
||||
</developer>
|
||||
<description>
|
||||
<p>
|
||||
Ghostty is a terminal emulator that differentiates itself by being fast,
|
||||
feature-rich, and native. While there are many excellent terminal
|
||||
emulators available, they all force you to choose between speed,
|
||||
features, or native UIs. Ghostty provides all three.
|
||||
</p>
|
||||
</description>
|
||||
|
||||
<releases>
|
||||
<release version="1.0.1" date="2024-12-31">
|
||||
<url type="details">https://ghostty.org/docs/install/release-notes/1-0-1</url>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
108
flatpak/build-support/check-zig-cache.sh
Executable file
108
flatpak/build-support/check-zig-cache.sh
Executable file
@ -0,0 +1,108 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# This script checks if the flatpak/zig-packages.json file is up-to-date.
|
||||
# If the `--update` flag is passed, it will update all necessary
|
||||
# files to be up to date.
|
||||
#
|
||||
# The files owned by this are:
|
||||
#
|
||||
# - flatpak/zig-packages.json
|
||||
#
|
||||
# All of these are auto-generated and should not be edited manually.
|
||||
|
||||
# Nothing in this script should fail.
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
WORK_DIR=$(mktemp -d)
|
||||
|
||||
if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
|
||||
echo "could not create temp dir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function cleanup {
|
||||
rm -rf "$WORK_DIR"
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
help() {
|
||||
echo ""
|
||||
echo "To fix, please (manually) re-run the script from the repository root,"
|
||||
echo "commit, and submit a PR with the update:"
|
||||
echo ""
|
||||
echo " ./flatpak/build-support/check-zig-cache.sh --update"
|
||||
echo " git add flatpak/zig-packages.json"
|
||||
echo " git commit -m \"flatpak: update zig-packages.json\""
|
||||
echo ""
|
||||
}
|
||||
|
||||
# Turn Nix's base64 hashes into regular hexadecimal form
|
||||
decode_hash() {
|
||||
input=$1
|
||||
input=${input#sha256-}
|
||||
echo "$input" | base64 -d | od -vAn -t x1 | tr -d ' \n'
|
||||
}
|
||||
|
||||
ROOT="$(realpath "$(dirname "$0")/../../")"
|
||||
ZIG_PACKAGES_JSON="$ROOT/flatpak/zig-packages.json"
|
||||
BUILD_ZIG_ZON_JSON="$ROOT/build.zig.zon.json"
|
||||
|
||||
if [ ! -f "${BUILD_ZIG_ZON_JSON}" ]; then
|
||||
echo -e "\nERROR: build.zig.zon2json-lock missing."
|
||||
help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f "${ZIG_PACKAGES_JSON}" ]; then
|
||||
OLD_HASH=$(sha512sum "${ZIG_PACKAGES_JSON}" | awk '{print $1}')
|
||||
fi
|
||||
|
||||
while read -r url sha256 dest; do
|
||||
src_type=archive
|
||||
sha256=$(decode_hash "$sha256")
|
||||
git_commit=
|
||||
if [[ "$url" =~ ^git\+* ]]; then
|
||||
src_type=git
|
||||
sha256=
|
||||
url=${url#git+}
|
||||
git_commit=${url##*#}
|
||||
url=${url%%/\?ref*}
|
||||
url=${url%%#*}
|
||||
fi
|
||||
|
||||
jq \
|
||||
-nec \
|
||||
--arg type "$src_type" \
|
||||
--arg url "$url" \
|
||||
--arg git_commit "$git_commit" \
|
||||
--arg dest "$dest" \
|
||||
--arg sha256 "$sha256" \
|
||||
'{
|
||||
type: $type,
|
||||
url: $url,
|
||||
commit: $git_commit,
|
||||
dest: $dest,
|
||||
sha256: $sha256,
|
||||
} | with_entries(select(.value != ""))'
|
||||
done < <(jq -rc 'to_entries[] | [.value.url, .value.hash, "vendor/p/\(.key)"] | @tsv' "$BUILD_ZIG_ZON_JSON") |
|
||||
jq -s '.' >"$WORK_DIR/zig-packages.json"
|
||||
|
||||
NEW_HASH=$(sha512sum "$WORK_DIR/zig-packages.json" | awk '{print $1}')
|
||||
|
||||
if [ "${OLD_HASH}" == "${NEW_HASH}" ]; then
|
||||
echo -e "\nOK: flatpak/zig-packages.json unchanged."
|
||||
exit 0
|
||||
elif [ "${1:-}" != "--update" ]; then
|
||||
echo -e "\nERROR: flatpak/zig-packages.json needs to be updated."
|
||||
echo ""
|
||||
echo " * Old hash: ${OLD_HASH}"
|
||||
echo " * New hash: ${NEW_HASH}"
|
||||
help
|
||||
exit 1
|
||||
else
|
||||
mv "$WORK_DIR/zig-packages.json" "$ZIG_PACKAGES_JSON"
|
||||
echo -e "\nOK: flatpak/zig-packages.json updated."
|
||||
exit 0
|
||||
fi
|
113
flatpak/com.mitchellh.ghostty.yml
Normal file
113
flatpak/com.mitchellh.ghostty.yml
Normal file
@ -0,0 +1,113 @@
|
||||
app-id: com.mitchellh.ghostty
|
||||
runtime: org.gnome.Platform
|
||||
runtime-version: "47"
|
||||
sdk: org.gnome.Sdk
|
||||
sdk-extensions:
|
||||
- org.freedesktop.Sdk.Extension.ziglang
|
||||
default-branch: tip
|
||||
command: ghostty
|
||||
finish-args:
|
||||
# 3D rendering
|
||||
- --device=dri
|
||||
# Windowing
|
||||
- --share=ipc
|
||||
- --socket=fallback-x11
|
||||
- --socket=wayland
|
||||
# Allow user to specify additional config files in home by default
|
||||
- --filesystem=home:ro
|
||||
# So we can escape the sandbox
|
||||
- --talk-name=org.freedesktop.Flatpak
|
||||
cleanup:
|
||||
- /include
|
||||
- /lib/girepository-1.0
|
||||
- /lib/pkgconfig
|
||||
- /share/gir-1.0
|
||||
- /share/pkgconfig
|
||||
- /share/vala
|
||||
- '*.la'
|
||||
- '*.a'
|
||||
- '*.so'
|
||||
|
||||
modules:
|
||||
- name: bzip2-redirect
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- install -dm755 /app/lib
|
||||
- echo "INPUT(libbz2.so)" > /app/lib/libbzip2.so
|
||||
|
||||
- name: blueprint-compiler
|
||||
buildsystem: meson
|
||||
cleanup:
|
||||
- '*'
|
||||
sources:
|
||||
- type: git
|
||||
url: https://gitlab.gnome.org/jwestman/blueprint-compiler.git
|
||||
tag: v0.16.0
|
||||
commit: 04ef0944db56ab01307a29aaa7303df6067cb3c0
|
||||
x-checker-data:
|
||||
type: git
|
||||
tag-pattern: ^v([\d.]+)$
|
||||
|
||||
- name: gtk4-layer-shell
|
||||
buildsystem: meson
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/wmww/gtk4-layer-shell.git
|
||||
tag: v1.1.0
|
||||
commit: 93550245220cdc514be4701b517acd374a86acc2
|
||||
x-checker-data:
|
||||
type: git
|
||||
tag-pattern: ^v([\d.]+)$
|
||||
|
||||
- name: pandoc
|
||||
buildsystem: simple
|
||||
cleanup:
|
||||
- '*'
|
||||
build-commands:
|
||||
- install -Dm755 bin/pandoc /app/bin/pandoc
|
||||
sources:
|
||||
- type: archive
|
||||
sha256: d04c95c138202f87d6b00ac19aa3dd874c681f60a9feb3b55c74f764d6d1a17d
|
||||
url: https://github.com/jgm/pandoc/releases/download/3.6.3/pandoc-3.6.3-linux-amd64.tar.gz
|
||||
only-arches: [x86_64]
|
||||
x-checker-data:
|
||||
type: json
|
||||
url: https://api.github.com/repos/jgm/pandoc/releases/latest
|
||||
url-query: .assets[] | select(.name=="pandoc-" + $version + "-linux-amd64.tar.gz")
|
||||
| .browser_download_url
|
||||
version-query: .tag_name
|
||||
- type: archive
|
||||
sha256: 4e774cb1bdb6e56bc55b8eb79200bd9aa6a39905a04ecda7267f5149116f0881
|
||||
url: https://github.com/jgm/pandoc/releases/download/3.6.3/pandoc-3.6.3-linux-arm64.tar.gz
|
||||
only-arches: [aarch64]
|
||||
x-checker-data:
|
||||
type: json
|
||||
url: https://api.github.com/repos/jgm/pandoc/releases/latest
|
||||
url-query: .assets[] | select(.name=="pandoc-" + $version + "-linux-arm64.tar.gz")
|
||||
| .browser_download_url
|
||||
version-query: .tag_name
|
||||
|
||||
- name: ghostty
|
||||
buildsystem: simple
|
||||
build-options:
|
||||
append-path: /usr/lib/sdk/ziglang
|
||||
build-commands:
|
||||
- zig build
|
||||
-Doptimize=ReleaseFast
|
||||
-Dcpu=baseline
|
||||
-Dflatpak=true
|
||||
-fno-sys=oniguruma
|
||||
--prefix /app
|
||||
--search-prefix /app
|
||||
--system $PWD/vendor/p
|
||||
sources:
|
||||
- type: dir
|
||||
path: ..
|
||||
skip:
|
||||
- flatpak/.flatpak-builder
|
||||
- flatpak/builddir
|
||||
- flatpak/repo
|
||||
- zig-cache
|
||||
- zig-out
|
||||
|
||||
- zig-packages.json
|
5
flatpak/exceptions.json
Normal file
5
flatpak/exceptions.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"com.mitchellh.ghostty": [
|
||||
"finish-args-flatpak-spawn-access"
|
||||
]
|
||||
}
|
206
flatpak/zig-packages.json
Normal file
206
flatpak/zig-packages.json
Normal file
@ -0,0 +1,206 @@
|
||||
[
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/breakpad-b99f444ba5f6b98cac261cbb391d8766b34a5918.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AALw2uwF_03u4JRkZwRLc3Y9hakkYV7NKRR9-RIZJ",
|
||||
"sha256": "6cca98943d1a990766cef61077c09aff5938063fe17a1efe1228e5412b6d6ad9"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/fontconfig-2.14.2.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAIrfdwARSa-zMmxWwFuwpXf1T3asIN7s5jqi9c1v",
|
||||
"sha256": "3ba2dd92158718acec5caaf1a716043b5aa055c27b081d914af3ccb40dce8a55"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/freetype-1220b81f6ecfb3fd222f76cf9106fecfa6554ab07ec7fdc4124b9bb063ae2adf969d.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAKLKpwC4H27Ps_0iL3bPkQb-z6ZVSrB-x_3EEkub",
|
||||
"sha256": "427201f5d5151670d05c1f5b45bef5dda1f2e7dd971ef54f0feaaa7ffd2ab90c"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/gettext-0.24.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AADcZkgn4cMhTUpIz6mShCKyqqB-NBtf_S2bHaTC-",
|
||||
"sha256": "c918503d593d70daf4844d175a13d816afacb667c06fba1ec9dcd5002c1518b7"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/glfw/glfw/archive/e7ea71be039836da3a98cea55ae5569cb5eb885c.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAMrJSwAUGb9-vTzkNR-5LXS81MR__ZRVfF3tWgG6",
|
||||
"sha256": "3373755d402531e6c1a395f53f2fbd6318ca5e067a79a72a59109b526c0b290a"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/glslang-12201278a1a05c0ce0b6eb6026c65cd3e9247aa041b1c260324bf29cee559dd23ba1.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AABzkUgISeKGgXAzgtutgJsZc0-kkeqBBscJgMkvy",
|
||||
"sha256": "14a2edbb509cb3e51a9a53e3f5e435dbf5971604b4b833e63e6076e8c0a997b5"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/jcollie/ghostty-gobject/releases/download/0.14.0-2025-03-18-21-1/ghostty-gobject-0.14.0-2025-03-18-21-1.tar.zst",
|
||||
"dest": "vendor/p/gobject-0.2.0-Skun7IWDlQAOKu4BV7LapIxL9Imbq1JRmzvcIkazvAxR",
|
||||
"sha256": "85672997459ddd7c9d4fe458efe548a315cf842cde95ed48a7be984a1f8a98b2"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/gtk4-layer-shell-1.1.0.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AALiNBAA-_0gprYr92CjrMj1I5bqNu0TSJOnjFNSr",
|
||||
"sha256": "98284281260a5eef5b4f63a55f16c4bf6a788a1020a6db037ecb0f71fa336988"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/harfbuzz-11.0.0.tar.xz",
|
||||
"dest": "vendor/p/N-V-__8AAG02ugUcWec-Ndp-i7JTsJ0dgF8nnJRUInkGLG7G",
|
||||
"sha256": "f16351bafe214725fe2c1d5b59f0d93e49905a4b247899fb90d70cff953a2b9b"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/highway-66486a10623fa0d72fe91260f96c892e41aceb06.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAGmZhABbsPJLfbqrh6JTHsXhY6qCaLAQyx25e0XE",
|
||||
"sha256": "87d4f8893ef4e08f224973608ffebf94268a81380ba79c12e8841968c80aa212"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/imgui-1220bc6b9daceaf7c8c60f3c3998058045ba0c5c5f48ae255ff97776d9cd8bfc6402.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAH0GaQC8a52s6vfIxg88OZgFgEW6DFxfSK4lX_l3",
|
||||
"sha256": "a05fd01e04cf11ab781e28387c621d2e420f1e6044c8e27a25e603ea99ef7860"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/mbadolato/iTerm2-Color-Schemes/archive/8650079de477e80a5983646e3e4d24cda1dbaefa.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AADk6LwSAbK3OMyGiadf6aeyztHNV4-zKaLy6IZa6",
|
||||
"sha256": "9ce907df531041dd8f3dd8d5a51c41c4d4167d1f44c60ea7445fca1e04b3ddc3"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/libpng-1220aa013f0c83da3fb64ea6d327f9173fa008d10e28bc9349eac3463457723b1c66.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAJrvXQCqAT8Mg9o_tk6m0yf5Fz-gCNEOKLyTSerD",
|
||||
"sha256": "fecc95b46cf05e8e3fc8a414750e0ba5aad00d89e9fdf175e94ff041caf1a03a"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/mitchellh/libxev/archive/3df9337a9e84450a58a2c4af434ec1a036f7b494.tar.gz",
|
||||
"dest": "vendor/p/libxev-0.0.0-86vtc-ziEgDbLP0vihUn1MhsxNKY4GJEga6BEr7oyHpz",
|
||||
"sha256": "a0a66a03d77bf631e7a7f1eca89590137dc57e7e447b91b85679507a942e638a"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/libxml2-2.11.5.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAG3RoQEyRC2Vw7Qoro5SYBf62IHn3HjqtNVY6aWK",
|
||||
"sha256": "6c28059e2e3eeb42b5b4b16489e3916a6346c1095a74fee3bc65cdc5d89a6215"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/oniguruma-1220c15e72eadd0d9085a8af134904d9a0f5dfcbed5f606ad60edc60ebeccd9706bb.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAHjwMQDBXnLq3Q2QhaivE0kE2aD138vtX2Bq1g7c",
|
||||
"sha256": "001aa1202e78448f4c0bf1a48c76e556876b36f16d92ce3207eccfd61d99f2a0"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/pixels-12207ff340169c7d40c570b4b6a97db614fe47e0d83b5801a932dcd44917424c8806.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AADYiAAB_80AWnH1AxXC0tql9thT-R-DYO1gBqTLc",
|
||||
"sha256": "55e83b16d091082502bf149bf457f31f42092c5982650e3ffbae7b48871bf11a"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/plasma_wayland_protocols-12207e0851c12acdeee0991e893e0132fc87bb763969a585dc16ecca33e88334c566.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAKYZBAB-CFHBKs3u4JkeiT4BMvyHu3Y5aaWF3Bbs",
|
||||
"sha256": "5c58ba214acd8e6bca3426dc08b022c46a8dd997b29a1b3e28badf71c20df441"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/sentry-1220446be831adcca918167647c06c7b825849fa3fba5f22da394667974537a9c77e.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAPlZGwBEa-gxrcypGBZ2R8Bse4JYSfo_ul8i2jlG",
|
||||
"sha256": "2ac6497cc8d61a8d31093e47addb8c9b2c45b16b0705bb334a835b6423c318df"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/spirv_cross-1220fb3b5586e8be67bc3feb34cbe749cf42a60d628d2953632c2f8141302748c8da.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AANb6pwD7O1WG6L5nvD_rNMvnSc9Cpg1ijSlTYywv",
|
||||
"sha256": "b52b6fcfc45e7fa69b1f06a1362c155473444e2cc09995556b156c53ba6657e3"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/utfcpp-1220d4d18426ca72fc2b7e56ce47273149815501d0d2395c2a98c726b31ba931e641.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAHffAgDU0YQmynL8K35WzkcnMUmBVQHQ0jlcKpjH",
|
||||
"sha256": "ffc668a310e77607d393f3c18b32715f223da1eac4c4d6e0579a11df8e6b59cf"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/rockorager/libvaxis",
|
||||
"commit": "1f41c121e8fc153d9ce8c6eb64b2bbab68ad7d23",
|
||||
"dest": "vendor/p/vaxis-0.1.0-BWNV_FUICQAFZnTCL11TUvnUr1Y0_ZdqtXHhd51d76Rn"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/wayland-9cb3d7aa9dc995ffafdbdef7ab86a949d0fb0e7d.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAKrHGAAs2shYq8UkE6bGcR1QJtLTyOE_lcosMn6t",
|
||||
"sha256": "ea4191d68e437677e51f3aacde27829810144e931d397a327dc6035e2c39c50d"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/wayland-protocols-258d8f88f2c8c25a830c6316f87d23ce1a0f12d9.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAKw-DAAaV8bOAAGqA0-oD7o-HNIlPFYKRXSPT03S",
|
||||
"sha256": "5cedcadde81b75e60f23e5e83b5dd2b8eb4efb9f8f79bd7a347d148aeb0530f8"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/wuffs-122037b39d577ec2db3fd7b2130e7b69ef6cc1807d68607a7c232c958315d381b5cd.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAAzZywE3s51XfsLbP9eyEw57ae9swYB9aGB6fCMs",
|
||||
"sha256": "9e4cd20abe96e6c4c6ede9c3057108860126e7be2e2c3e35515476c250be1c13"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/vancluever/z2d/archive/1e89605a624940c310c7a1d81b46a7c5c05919e3.tar.gz",
|
||||
"dest": "vendor/p/z2d-0.6.0-j5P_HvLdCABu-dXpCeRM7Uk4m16vULg1980lMNCQj4_C",
|
||||
"sha256": "3c429549467ab5e45b0f28453d64a2b8149ee34a60af4915462bc863c0a7f074"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/natecraddock/zf/archive/7aacbe6d155d64d15937ca95ca6c014905eb531f.tar.gz",
|
||||
"dest": "vendor/p/zf-0.10.3-OIRy8aiIAACLrBllz0zjxaH0aOe5oNm3KtEMyCntST-9",
|
||||
"sha256": "de7ba535077fe2b678a5a7972585f002588d37244db08397feadf3d4907c0bb2"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://codeberg.org/atman/zg",
|
||||
"commit": "4a002763419a34d61dcbb1f415821b83b9bf8ddc",
|
||||
"dest": "vendor/p/zg-0.13.4-AAAAAGiZ7QLz4pvECFa_wG4O4TP4FLABHHbemH2KakWM"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/zig_js-12205a66d423259567764fa0fc60c82be35365c21aeb76c5a7dc99698401f4f6fefc.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAB9YCQBaZtQjJZVndk-g_GDIK-NTZcIa63bFp9yZ",
|
||||
"sha256": "7f235e0956c2f5401a28963a261019953d00e3bf4cfc029830f2161196c3583d"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/mitchellh/zig-objc/archive/3ab0d37c7d6b933d6ded1b3a35b6b60f05590a98.tar.gz",
|
||||
"dest": "vendor/p/zig_objc-0.0.0-Ir_Sp3TyAADEVRTxXlScq3t_uKAM91MYNerZkHfbD0yt",
|
||||
"sha256": "ce7d6d47ac614a60e56b8509dedf869e2e0d8b747c75e48aded11eec31b3357c"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://codeberg.org/ifreund/zig-wayland/archive/f3c5d503e540ada8cbcb056420de240af0c094f7.tar.gz",
|
||||
"dest": "vendor/p/wayland-0.4.0-dev-lQa1kjfIAQCmhhQu3xF0KH-94-TzeMXOqfnP0-Dg6Wyy",
|
||||
"sha256": "13bec6675e403d86db3b55b39ae262f1e1bdfe24056dcd82824341c6308b5219"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/TUSF/zigimg",
|
||||
"commit": "31268548fe3276c0e95f318a6c0d2ab10565b58d",
|
||||
"dest": "vendor/p/zigimg-0.1.0-lly-O6N2EABOxke8dqyzCwhtUCAafqP35zC7wsZ4Ddxj"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/ziglyph-b89d43d1e3fb01b6074bc1f7fc980324b04d26a5.tar.gz",
|
||||
"dest": "vendor/p/ziglyph-0.11.2-AAAAAHPtHwB4Mbzn1KvOV7Wpjo82NYEc_v0WC8oCLrkf",
|
||||
"sha256": "72c7bdf3e16df105235fe3fcf32c987dac49389190f4ced89b0ee31710f3f3d9"
|
||||
},
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://deps.files.ghostty.org/zlib-1220fed0c74e1019b3ee29edae2051788b080cd96e90d56836eea857b0b966742efb.tar.gz",
|
||||
"dest": "vendor/p/N-V-__8AAB0eQwD-0MdOEBmz7intriBReIsIDNlukNVoNu6o",
|
||||
"sha256": "17e88863f3600672ab49182f217281b6fc4d3c762bde361935e436a95214d05c"
|
||||
}
|
||||
]
|
@ -202,6 +202,12 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources {
|
||||
"share/applications/com.mitchellh.ghostty.desktop",
|
||||
).step);
|
||||
|
||||
// AppStream metainfo so that application has rich metadata within app stores
|
||||
try steps.append(&b.addInstallFile(
|
||||
b.path("dist/linux/com.mitchellh.ghostty.metainfo.xml"),
|
||||
"share/metainfo/com.mitchellh.ghostty.metainfo.xml",
|
||||
).step);
|
||||
|
||||
// Right click menu action for Plasma desktop
|
||||
try steps.append(&b.addInstallFile(
|
||||
b.path("dist/linux/ghostty_dolphin.desktop"),
|
||||
|
Loading…
x
Reference in New Issue
Block a user