Skip to content

Commit

Permalink
Separate env setup script
Browse files Browse the repository at this point in the history
I'm on the fence about whether it would be easier to just maintain a
Dockerfile for the build env, but I think moving env setup to a separate
script is a step in the right direction either way.
  • Loading branch information
mkasberg committed Jan 1, 2025
1 parent 01f0366 commit fd5fc44
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 22 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ jobs:
steps:
- name: Checkout ghostty-ubuntu
uses: actions/checkout@v4

- name: Setup Build Env
run: ./setup-env.sh

- name: Set Release Distribution
run: |
Expand Down
27 changes: 5 additions & 22 deletions build-ghostty.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,13 @@

set -e

ZIG_VERSION="0.13.0"
GHOSTTY_VERSION="1.0.1"

export DEBEMAIL="[email protected]"
export DEBFULLNAME="Mike Kasberg"
export DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -I -us -uc"
export DEBUILD_LINTIAN_OPTS="-i -I --show-overrides"
export DEB_BUILD_MAINT_OPTIONS="hardening=+all"

# Install Build Tools
apt-get -qq update && apt-get -qq install -y build-essential debhelper devscripts pandoc libonig-dev libbz2-dev wget

wget -q "https://github.com/jedisct1/minisign/releases/download/0.11/minisign-0.11-linux.tar.gz"
tar -xzf minisign-0.11-linux.tar.gz
mv minisign-linux/x86_64/minisign /usr/local/bin
rm -r minisign-linux

wget -q "https://ziglang.org/download/$ZIG_VERSION/zig-linux-x86_64-$ZIG_VERSION.tar.xz"
tar -xf "zig-linux-x86_64-$ZIG_VERSION.tar.xz" -C /opt
rm "zig-linux-x86_64-$ZIG_VERSION.tar.xz"
ln -s "/opt/zig-linux-x86_64-$ZIG_VERSION/zig" /usr/local/bin/zig

# Install Ghostty Dependencies
apt-get -qq install -y libgtk-4-dev libadwaita-1-dev
DEBEMAIL="[email protected]"
DEBFULLNAME="Mike Kasberg"
DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -I -us -uc"
DEBUILD_LINTIAN_OPTS="-i -I --show-overrides"
DEB_BUILD_MAINT_OPTIONS="hardening=+all"

# Fetch Ghostty Source
wget -q "https://release.files.ghostty.org/$GHOSTTY_VERSION/ghostty-$GHOSTTY_VERSION.tar.gz"
Expand Down
23 changes: 23 additions & 0 deletions setup-env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

# Sets up the environment to build Ghostty on Ubuntu

set -e

ZIG_VERSION="0.13.0"

# Install Build Tools
apt-get -qq update && apt-get -qq install -y build-essential debhelper devscripts pandoc libonig-dev libbz2-dev wget

wget -q "https://github.com/jedisct1/minisign/releases/download/0.11/minisign-0.11-linux.tar.gz"
tar -xzf minisign-0.11-linux.tar.gz
mv minisign-linux/x86_64/minisign /usr/local/bin
rm -r minisign-linux

wget -q "https://ziglang.org/download/$ZIG_VERSION/zig-linux-x86_64-$ZIG_VERSION.tar.xz"
tar -xf "zig-linux-x86_64-$ZIG_VERSION.tar.xz" -C /opt
rm "zig-linux-x86_64-$ZIG_VERSION.tar.xz"
ln -s "/opt/zig-linux-x86_64-$ZIG_VERSION/zig" /usr/local/bin/zig

# Install Ghostty Dependencies
apt-get -qq install -y libgtk-4-dev libadwaita-1-dev

0 comments on commit fd5fc44

Please sign in to comment.