Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions bin/build-ghostty.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ if [ "${GHOSTTY_VERSION}" = "tip" ]; then
export UPINFO="gh-releases-zsync|$(echo "${GITHUB_REPOSITORY}" | tr '/' '|')|tip|Ghostty-*$ARCH.AppImage.zsync"
wget "https://github.com/ghostty-org/ghostty/releases/download/tip/ghostty-source.tar.gz" -O "ghostty-${GHOSTTY_VERSION}.tar.gz"
wget "https://github.com/ghostty-org/ghostty/releases/download/tip/ghostty-source.tar.gz.minisig" -O "ghostty-${GHOSTTY_VERSION}.tar.gz.minisig"
GHOSTTY_VERSION="$(tar -tf "ghostty-${GHOSTTY_VERSION}.tar.gz" --wildcards "*zig.zon.txt" | awk -F'[-/]' '{print $2"-"$3}')"
GHOSTTY_VERSION="$(tar -tf "ghostty-${GHOSTTY_VERSION}.tar.gz" --wildcards "*zig.zon.txt" | awk '-F[-/]' '{print $2"-"$3"-"$4}')"
echo "${GHOSTTY_VERSION}" >VERSION
mv ghostty-tip.tar.gz "ghostty-${GHOSTTY_VERSION}.tar.gz"
mv ghostty-tip.tar.gz.minisig "ghostty-${GHOSTTY_VERSION}.tar.gz.minisig"
Expand All @@ -42,10 +42,10 @@ BUILD_ARGS="${BUILD_ARGS} -Dversion-string=${GHOSTTY_VERSION}"

# Configure Zig: https://ziglang.org
ZIG_VERSION="$(cat "ghostty-${GHOSTTY_VERSION}/build.zig.zon" | grep ".minimum_zig_version" | cut -d'"' -f2)"
ZIG_PACKAGE_NAME="zig-${ARCH}-linux-${ZIG_VERSION}"
CURRENT_ZIG_VERSION=$(zig version 2>/dev/null || true)
if [ "$CURRENT_ZIG_VERSION" != "$ZIG_VERSION" ]; then
echo "Installing Zig ${ZIG_VERSION}..."
ZIG_PACKAGE_NAME="zig-${ARCH}-linux-${ZIG_VERSION}"
ZIG_URL="https://ziglang.org/download/${ZIG_VERSION}/${ZIG_PACKAGE_NAME}.tar.xz"
rm -rf /opt/zig*
unlink /usr/local/bin/zig || true
Expand Down
1 change: 0 additions & 1 deletion bin/bundle-appimage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ ARCH="$(uname -m)"
GHOSTTY_VERSION="$(cat VERSION)"

export UPINFO="gh-releases-zsync|$(echo "${GITHUB_REPOSITORY}" | tr '/' '|')|latest|Ghostty-*$ARCH.AppImage.zsync"
export URUNTIME_PRELOAD=1
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

came too late lol

pkgforge-dev/appimagetool#5

Note disabling this is bad, as that introduces a delay in the launch time of the appimage, which is not acceptable for terminal emulators. But there is no solution until that gets fixed.

export DEPLOY_OPENGL=1
export EXEC_WRAPPER=1
export OUTNAME="Ghostty-${GHOSTTY_VERSION}-${ARCH}.AppImage"
Expand Down
8 changes: 8 additions & 0 deletions bin/setup-env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ ghosttyDeps="gtk4 libadwaita gtk4-layer-shell"
rm -rf "/usr/share/libalpm/hooks/package-cleanup.hook"
pacman -Syuq --needed --noconfirm --noprogressbar ${buildDeps} ${ghosttyDeps}

# GCC 15+ compiles glibc crt startup objects with .sframe sections that use R_X86_64_PC64
# relocations. Zig's self-hosted linker doesn't support this relocation type, causing
# build-time helpers (e.g. ghostty-build-data) to fail. Strip .sframe and its associated
# relocation section from the affected objects so the linker never encounters them.
for _crt in /usr/lib/crt1.o /usr/lib/Scrt1.o /usr/lib/rcrt1.o; do
[ -f "$_crt" ] && objcopy --remove-section .sframe --remove-section .rela.sframe "$_crt"
done

ARCH="$(uname -m)"

MINISIGN_VERSION="$(get_latest_gh_release 'jedisct1/minisign')"
Expand Down
Loading