mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-04-20 00:18:53 +03:00
Merge 49f461f1463d143935c548be577fb75fc15581d3 into 66636195f18d21bd65f8e7ced461f6b6770be189
This commit is contained in:
@ -48,8 +48,8 @@ export GDK_PIXBUF_MODULE_FILE="$SNAP_USER_COMMON/.cache/gdk-pixbuf-loaders.cache
|
|||||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||||
if [ "$needs_update" = true ] || [ ! -f "$GDK_PIXBUF_MODULE_FILE" ]; then
|
if [ "$needs_update" = true ] || [ ! -f "$GDK_PIXBUF_MODULE_FILE" ]; then
|
||||||
rm -f "$GDK_PIXBUF_MODULE_FILE"
|
rm -f "$GDK_PIXBUF_MODULE_FILE"
|
||||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
if [ -f "$SNAP/usr/bin/gdk-pixbuf-query-loaders" ]; then
|
||||||
"$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
"$SNAP/usr/bin/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -64,24 +64,309 @@ parts:
|
|||||||
prime:
|
prime:
|
||||||
- -*
|
- -*
|
||||||
|
|
||||||
|
buildenv:
|
||||||
|
plugin: nil
|
||||||
|
build-environment: &buildenv
|
||||||
|
- ACLOCAL_PATH: $CRAFT_STAGE/usr/share/aclocal
|
||||||
|
- XDG_DATA_DIRS: $CRAFT_STAGE/usr/share:/usr/share
|
||||||
|
- LD_LIBRARY_PATH: "$CRAFT_STAGE/usr/lib:\
|
||||||
|
$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR\
|
||||||
|
${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
|
||||||
|
- PKG_CONFIG_PATH:
|
||||||
|
"$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pkgconfig:\
|
||||||
|
$CRAFT_STAGE/usr/lib/pkgconfig:\
|
||||||
|
$CRAFT_STAGE/usr/share/pkgconfig\
|
||||||
|
${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
|
||||||
|
- GI_TYPELIB_PATH: "$CRAFT_STAGE/usr/lib/girepository-1.0:\
|
||||||
|
$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/girepository-1.0\
|
||||||
|
${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}"
|
||||||
|
|
||||||
|
ninja:
|
||||||
|
plugin: nil
|
||||||
|
source: https://github.com/ninja-build/ninja.git
|
||||||
|
source-tag: "v1.12.1"
|
||||||
|
source-depth: 1
|
||||||
|
override-build: |
|
||||||
|
rm -rf build
|
||||||
|
rm -f ninja
|
||||||
|
rm -f ninja_bootstrap
|
||||||
|
sed -i 's_^#!/usr/bin/env python$_#!/usr/bin/env python3_g' configure.py
|
||||||
|
./configure.py --bootstrap
|
||||||
|
mv ninja ninja_bootstrap
|
||||||
|
rm -rf build
|
||||||
|
./ninja_bootstrap
|
||||||
|
rm -f ninja_bootstrap
|
||||||
|
mkdir -p $CRAFT_PART_INSTALL/usr/bin
|
||||||
|
mv ninja $CRAFT_PART_INSTALL/usr/bin/
|
||||||
|
build-environment: *buildenv
|
||||||
|
build-packages:
|
||||||
|
- python3
|
||||||
|
prime:
|
||||||
|
- -*
|
||||||
|
|
||||||
|
meson-deps:
|
||||||
|
after: [ninja]
|
||||||
|
plugin: nil
|
||||||
|
source: https://github.com/mesonbuild/meson.git
|
||||||
|
source-tag: "1.6.0"
|
||||||
|
source-depth: 1
|
||||||
|
override-build: |
|
||||||
|
python3 -m pip install --break-system-packages .
|
||||||
|
mkdir -p $CRAFT_PART_INSTALL/usr/lib/python3/dist-packages
|
||||||
|
rm -rf $CRAFT_PART_INSTALL/usr/lib/python3/dist-packages/meson*
|
||||||
|
python3 -m pip install --target=$CRAFT_PART_INSTALL/usr --break-system-packages .
|
||||||
|
mv $CRAFT_PART_INSTALL/usr/meson* $CRAFT_PART_INSTALL/usr/lib/python3/dist-packages/
|
||||||
|
sed -i "s%^#!/usr/bin/python3$%#!/usr/bin/env python3%g" /usr/local/bin/meson
|
||||||
|
sed -i "s%^#!/usr/bin/python3$%#!/usr/bin/env python3%g" $CRAFT_PART_INSTALL/usr/bin/meson
|
||||||
|
build-environment: *buildenv
|
||||||
|
build-packages:
|
||||||
|
- python3-pip
|
||||||
|
prime:
|
||||||
|
- -*
|
||||||
|
|
||||||
|
pixman:
|
||||||
|
after: [meson-deps]
|
||||||
|
source: https://gitlab.freedesktop.org/pixman/pixman.git
|
||||||
|
source-tag: "pixman-0.44.2"
|
||||||
|
source-depth: 1
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Dgtk=disabled
|
||||||
|
- -Dtests=disabled
|
||||||
|
- -Ddemos=disabled
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
prime:
|
||||||
|
- usr/lib/*/libpix*.so.*
|
||||||
|
|
||||||
|
cairo:
|
||||||
|
after: [pixman, meson-deps]
|
||||||
|
source: https://gitlab.freedesktop.org/cairo/cairo.git
|
||||||
|
source-tag: "1.18.4"
|
||||||
|
source-depth: 1
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Dxlib=enabled
|
||||||
|
- -Dpng=enabled
|
||||||
|
- -Dxcb=enabled
|
||||||
|
- -Dtee=enabled
|
||||||
|
- -Dzlib=enabled
|
||||||
|
- -Dtests=disabled
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
build-packages:
|
||||||
|
- libfontconfig1-dev
|
||||||
|
- libfreetype-dev
|
||||||
|
- libx11-dev
|
||||||
|
- libxext-dev
|
||||||
|
- libxcb1-dev
|
||||||
|
- libxcb-render0-dev
|
||||||
|
- libxcb-shm0-dev
|
||||||
|
- libsm-dev
|
||||||
|
- zlib1g-dev
|
||||||
|
- liblzo2-dev
|
||||||
|
- libxml2-dev
|
||||||
|
prime:
|
||||||
|
- usr/lib/*/libcairo*.so.*
|
||||||
|
|
||||||
|
fribidi:
|
||||||
|
after: [meson-deps]
|
||||||
|
source: https://github.com/fribidi/fribidi.git
|
||||||
|
source-tag: "v1.0.16"
|
||||||
|
source-depth: 1
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Ddocs=false
|
||||||
|
- -Dtests=false
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
prime:
|
||||||
|
- usr/lib/*/libfribidi*.so.*
|
||||||
|
|
||||||
|
harfbuzz:
|
||||||
|
after: [fribidi, meson-deps]
|
||||||
|
source: https://github.com/harfbuzz/harfbuzz.git
|
||||||
|
source-tag: "10.1.0"
|
||||||
|
source-depth: 1
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Dgraphite2=enabled
|
||||||
|
- -Dintrospection=enabled
|
||||||
|
- -Dgobject=enabled
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Dtests=disabled
|
||||||
|
- -Ddocs=disabled
|
||||||
|
- --default-library=both
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
build-packages:
|
||||||
|
- ragel
|
||||||
|
- libgraphite2-dev
|
||||||
|
prime:
|
||||||
|
- usr/lib/*/libharfbuz*.so.*
|
||||||
|
|
||||||
|
pango:
|
||||||
|
after: [cairo, harfbuzz, meson-deps]
|
||||||
|
source: https://gitlab.gnome.org/GNOME/pango.git
|
||||||
|
source-tag: "1.56.2"
|
||||||
|
source-depth: 1
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Dbuild-testsuite=false
|
||||||
|
- -Ddocumentation=false
|
||||||
|
- -Dintrospection=enabled
|
||||||
|
- -Dbuild-examples=false
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
build-packages:
|
||||||
|
- libthai-dev
|
||||||
|
- libxft-dev
|
||||||
|
- libxrender-dev
|
||||||
|
- libxt-dev
|
||||||
|
- cmake
|
||||||
|
prime:
|
||||||
|
- usr/lib/*/libpango*.so.*
|
||||||
|
|
||||||
|
wayland-protocols:
|
||||||
|
after: [meson-deps]
|
||||||
|
source: https://gitlab.freedesktop.org/wayland/wayland-protocols.git
|
||||||
|
source-tag: "1.38"
|
||||||
|
source-depth: 1
|
||||||
|
build-packages:
|
||||||
|
- libwayland-dev
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Dtests=false
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
prime:
|
||||||
|
- usr/lib/*/libwayland*.so.*
|
||||||
|
|
||||||
|
gtk4:
|
||||||
|
after: [meson-deps, cairo, pango, wayland-protocols]
|
||||||
|
source: https://gitlab.gnome.org/GNOME/gtk.git
|
||||||
|
source-tag: "4.16.7"
|
||||||
|
source-depth: 1
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Ddebug=false
|
||||||
|
- -Dbroadway-backend=true
|
||||||
|
- -Dx11-backend=true
|
||||||
|
- -Dwayland-backend=true
|
||||||
|
- -Dwin32-backend=false
|
||||||
|
- -Dmacos-backend=false
|
||||||
|
- -Dintrospection=enabled
|
||||||
|
- -Ddocumentation=false
|
||||||
|
- -Dbuild-examples=false
|
||||||
|
- -Dbuild-tests=false
|
||||||
|
- -Dmedia-gstreamer=disabled
|
||||||
|
- -Dbuild-demos=false
|
||||||
|
- -Dbuild-testsuite=false
|
||||||
|
- -Dbuild-examples=false
|
||||||
|
- -Dbuild-tests=false
|
||||||
|
- -Dprint-cups=enabled
|
||||||
|
organize:
|
||||||
|
usr/lib/gtk-4.0: usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gtk-4.0
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
build-packages:
|
||||||
|
- libxkbcommon-dev
|
||||||
|
- libcups2-dev
|
||||||
|
- libcolord-dev
|
||||||
|
- libdrm-dev
|
||||||
|
- libegl-dev
|
||||||
|
- libxrandr-dev
|
||||||
|
- libxcursor-dev
|
||||||
|
- libxcomposite-dev
|
||||||
|
- libxdamage-dev
|
||||||
|
- libxfixes-dev
|
||||||
|
- libxi-dev
|
||||||
|
- libxkbfile-dev
|
||||||
|
- libxml2-utils
|
||||||
|
- libvulkan-dev
|
||||||
|
- glslc
|
||||||
|
- libgraphene-1.0-dev
|
||||||
|
- libxinerama-dev
|
||||||
|
- gobject-introspection
|
||||||
|
- gir1.2-freedesktop-dev
|
||||||
|
- shared-mime-info
|
||||||
|
prime:
|
||||||
|
- -usr/lib/*/*/4.0.0/media/libmedia-gstreamer.so
|
||||||
|
- -usr/include
|
||||||
|
- -usr/lib/*/*.pc
|
||||||
|
- -usr/share
|
||||||
|
|
||||||
|
gtk4-layer-shell:
|
||||||
|
after: [meson-deps, gtk4]
|
||||||
|
source: https://github.com/wmww/gtk4-layer-shell.git
|
||||||
|
source-tag: "v1.1.0"
|
||||||
|
source-depth: 1
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Dintrospection=false
|
||||||
|
- -Dvapi=false
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
prime:
|
||||||
|
- usr/lib/*/libgtk4-layer-shell.so*
|
||||||
|
|
||||||
|
libadwaita:
|
||||||
|
after: [meson-deps, gtk4]
|
||||||
|
source: https://gitlab.gnome.org/GNOME/libadwaita.git
|
||||||
|
source-tag: "1.6.5"
|
||||||
|
source-depth: 1
|
||||||
|
plugin: meson
|
||||||
|
meson-parameters:
|
||||||
|
- --prefix=/usr
|
||||||
|
- -Doptimization=3
|
||||||
|
- -Dintrospection=enabled
|
||||||
|
- -Dvapi=false
|
||||||
|
- -Dgtk_doc=false
|
||||||
|
- -Dtests=false
|
||||||
|
- -Dexamples=false
|
||||||
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
|
build-packages:
|
||||||
|
- libsass-dev
|
||||||
|
- sassc
|
||||||
|
- libyaml-dev
|
||||||
|
- libzstd-dev
|
||||||
|
- libsystemd-dev
|
||||||
|
- gperf
|
||||||
|
- libappstream-dev
|
||||||
|
prime:
|
||||||
|
- usr/lib/*/libadwaita*.so.*
|
||||||
|
|
||||||
ghostty:
|
ghostty:
|
||||||
|
after: [gtk4-layer-shell, libadwaita, zig]
|
||||||
source: .
|
source: .
|
||||||
after: [zig]
|
|
||||||
plugin: nil
|
plugin: nil
|
||||||
build-attributes: [enable-patchelf]
|
build-attributes: [enable-patchelf]
|
||||||
|
build-environment: *buildenv
|
||||||
build-packages:
|
build-packages:
|
||||||
- blueprint-compiler
|
- blueprint-compiler
|
||||||
- libgtk-4-dev
|
|
||||||
- libadwaita-1-dev
|
|
||||||
# TODO: Add when the Snap is updated to Ubuntu 24.10+
|
|
||||||
# - gtk4-layer-shell
|
|
||||||
- libxml2-utils
|
- libxml2-utils
|
||||||
- git
|
- git
|
||||||
- patchelf
|
- patchelf
|
||||||
- gettext
|
- gettext
|
||||||
override-build: |
|
override-build: |
|
||||||
craftctl set version=$(git describe --abbrev=8)
|
craftctl set version=$(git describe --abbrev=8)
|
||||||
$CRAFT_PART_SRC/../../zig/src/zig build -Dpatch-rpath=\$ORIGIN/../usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/core24/current/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR -Doptimize=ReleaseFast
|
$CRAFT_PART_SRC/../../zig/src/zig build -Dpatch-rpath=\$ORIGIN/../usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/core24/current/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR -Doptimize=ReleaseFast -fsys=gtk4-layer-shell
|
||||||
cp -rp zig-out/* $CRAFT_PART_INSTALL/
|
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
|
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
|
||||||
|
|
||||||
@ -89,10 +374,7 @@ parts:
|
|||||||
plugin: nil
|
plugin: nil
|
||||||
build-attributes: [enable-patchelf]
|
build-attributes: [enable-patchelf]
|
||||||
stage-packages:
|
stage-packages:
|
||||||
- libadwaita-1-0
|
|
||||||
- libglib2.0-0t64
|
- libglib2.0-0t64
|
||||||
- libgtk-4-1
|
|
||||||
- libgtk-4-media-gstreamer
|
|
||||||
- ibus-gtk4
|
- ibus-gtk4
|
||||||
- libpciaccess0
|
- libpciaccess0
|
||||||
- libtinfo6
|
- libtinfo6
|
||||||
@ -103,7 +385,23 @@ parts:
|
|||||||
- libunistring5
|
- libunistring5
|
||||||
- librsvg2-2
|
- librsvg2-2
|
||||||
- librsvg2-common
|
- librsvg2-common
|
||||||
- libgdk-pixbuf-2.0-0
|
- libxcb-randr0
|
||||||
|
- libwayland-server0
|
||||||
|
- libxshmfence1
|
||||||
|
- libxcb-xfixes0
|
||||||
|
- libxcb-sync1
|
||||||
|
- libxcb-present0
|
||||||
|
- libxcb-dri3-0
|
||||||
|
- libxcb-dri2-0
|
||||||
|
- libglapi-mesa
|
||||||
|
- libx11-xcb1
|
||||||
|
- libxmlb2
|
||||||
|
- libstemmer0d
|
||||||
|
- libappstream5
|
||||||
|
- libwayland-client0
|
||||||
|
- libwayland-egl1
|
||||||
|
- libwayland-server0
|
||||||
|
- libxft2
|
||||||
- on amd64:
|
- on amd64:
|
||||||
[
|
[
|
||||||
i965-va-driver,
|
i965-va-driver,
|
||||||
@ -113,6 +411,19 @@ parts:
|
|||||||
libdrm-radeon1,
|
libdrm-radeon1,
|
||||||
]
|
]
|
||||||
stage:
|
stage:
|
||||||
|
- -usr/lib/*/*/4.0.0
|
||||||
|
- -usr/lib/*/libgtk-4.so.*
|
||||||
|
- -usr/lib/*/libpix*.so.*
|
||||||
|
- -usr/lib/*/libcairo*.so.*
|
||||||
|
- -usr/lib/*/libepoxy.so.*
|
||||||
|
- -usr/lib/*/libfribidi.so.*
|
||||||
|
- -usr/lib/*/libgdk_pixbuf-2.0.so.*
|
||||||
|
- -usr/lib/*/libharfbuzz*.so.*
|
||||||
|
- -usr/lib/*/libpango*.so.*
|
||||||
|
- -usr/lib/*/libpixman-1.so.*
|
||||||
|
- -usr/share/gtk-4.0
|
||||||
|
- -usr/lib/*/libgallium*so
|
||||||
|
- -usr/lib/*/gdk-pixbuf-2.0
|
||||||
# The libraries in dri need no-patchelf, so they come from the mesa-unpatched part
|
# The libraries in dri need no-patchelf, so they come from the mesa-unpatched part
|
||||||
- -usr/lib/*/dri
|
- -usr/lib/*/dri
|
||||||
|
|
||||||
@ -130,9 +441,10 @@ parts:
|
|||||||
# The libraries in dri need no-patchelf, so they come from the mesa-unpatched part
|
# The libraries in dri need no-patchelf, so they come from the mesa-unpatched part
|
||||||
- usr/lib/*/*.so*
|
- usr/lib/*/*.so*
|
||||||
- usr/lib/*/dri/libdril_dri.so
|
- usr/lib/*/dri/libdril_dri.so
|
||||||
- -usr/lib/*/libxml2.so.*
|
|
||||||
- -usr/lib/*/libgallium*so
|
- -usr/lib/*/libgallium*so
|
||||||
|
- -usr/lib/*/libxml2.so.*
|
||||||
- -usr/lib/*/dri
|
- -usr/lib/*/dri
|
||||||
|
- -usr/lib/*/libwayland*.so.*
|
||||||
|
|
||||||
mesa-gl1-dri:
|
mesa-gl1-dri:
|
||||||
plugin: nil
|
plugin: nil
|
||||||
|
@ -25,6 +25,8 @@ extend-exclude = [
|
|||||||
"*.data",
|
"*.data",
|
||||||
"*.xib",
|
"*.xib",
|
||||||
"src/cli/lorem_ipsum.txt",
|
"src/cli/lorem_ipsum.txt",
|
||||||
|
# Ignore packaging as it caches some package names
|
||||||
|
"snap/snapcraft.yaml",
|
||||||
]
|
]
|
||||||
|
|
||||||
[default]
|
[default]
|
||||||
|
Reference in New Issue
Block a user