|
2 | 2 |
|
3 | 3 | set -e |
4 | 4 |
|
5 | | -export DEBIAN_FRONTEND="noninteractive" |
6 | 5 | export ARCH="$(uname -m)" |
7 | 6 |
|
8 | 7 | ZIG_VERSION="0.13.0" |
9 | | -MINISIGN_URL="https://github.com/jedisct1/minisign/releases/download/0.11/minisign-0.11-linux.tar.gz" |
| 8 | +PANDOC_VERSION="3.6.3" |
| 9 | +MINISIGN_VERSION="0.11" |
10 | 10 |
|
11 | | -# Detect latest version numbers when jq is available. |
12 | | -if command -v jq >/dev/null 2>&1; then |
13 | | - if [ "$1" = "latest" ]; then |
14 | | - ZIG_VERSION="$( |
15 | | - curl -s "https://ziglang.org/download/index.json" | |
16 | | - jq -r '[keys[] | select(. != "master" and contains("."))] | sort_by(split(".") | map(tonumber)) | last' |
17 | | - )" |
18 | | - MINISIGN_URL="$( |
19 | | - curl -s "https://api.github.com/repos/jedisct1/minisign/releases/latest" | |
20 | | - jq -r --arg prefix "minisign" --arg suffix "linux.tar.gz" \ |
21 | | - '.assets[] | select(.name | startswith($prefix) and endswith($suffix)) | .browser_download_url' |
22 | | - )" |
23 | | - fi |
24 | | -fi |
| 11 | +PANDOC_BASE="https://github.com/jgm/pandoc/releases/download/${PANDOC_VERSION}" |
| 12 | +MINISIGN_URL="https://github.com/jedisct1/minisign/releases/download/${MINISIGN_VERSION}/minisign-${MINISIGN_VERSION}-linux.tar.gz" |
| 13 | +APPIMAGE_URL="https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-${ARCH}.AppImage" |
| 14 | +ZIG_URL="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz" |
| 15 | + |
| 16 | +case "${ARCH}" in |
| 17 | +"x86_64") |
| 18 | + PANDOC_URL="${PANDOC_BASE}/pandoc-${PANDOC_VERSION}-linux-amd64.tar.gz" |
| 19 | + ;; |
| 20 | +"aarch64") |
| 21 | + PANDOC_URL="${PANDOC_BASE}/pandoc-${PANDOC_VERSION}-linux-arm64.tar.gz" |
| 22 | + ;; |
| 23 | +*) |
| 24 | + echo "Unsupported ARCH: '${ARCH}'" |
| 25 | + exit 1 |
| 26 | + ;; |
| 27 | +esac |
| 28 | + |
| 29 | +rm -rf "/usr/share/libalpm/hooks/package-cleanup.hook" |
25 | 30 |
|
26 | 31 | # Update & install OS base dependencies |
27 | | -rm /etc/apt/apt.conf.d/docker-clean |
28 | | -buildPkgs="apt-utils build-essential libonig-dev libbz2-dev pandoc wget fuse libfuse2t64 file zsync appstream" |
29 | | -ghosttyPkgs="libgtk-4-dev libadwaita-1-dev" |
30 | | -apt-get -qq update && apt-get -qq -y upgrade |
31 | | -apt-get -qq -y --download-only install ${buildPkgs} ${ghosttyPkgs} |
32 | | -apt -qq -y install ${buildPkgs} ${ghosttyPkgs} |
| 32 | +buildPkgs="base-devel freetype2 oniguruma wget fuse file zsync appstream" |
| 33 | +ghosttyPkgs="gtk4 libadwaita" |
| 34 | +pacman -Syu --noconfirm |
| 35 | +pacman -Syw --noconfirm ${buildPkgs} ${ghosttyPkgs} |
| 36 | +pacman -Syq --needed --noconfirm ${buildPkgs} ${ghosttyPkgs} |
33 | 37 |
|
34 | 38 | # Download & install other dependencies |
35 | 39 | # appimagetool: https://github.com/AppImage/appimagetool |
36 | 40 | if [ ! -f '/usr/local/bin/appimagetool' ]; then |
37 | | - wget -q "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-${ARCH}.AppImage" -O /tmp/appimagetool.AppImage |
| 41 | + wget -q "${APPIMAGE_URL}" -O /tmp/appimagetool.AppImage |
38 | 42 | chmod +x /tmp/appimagetool.AppImage |
39 | 43 | mv /tmp/appimagetool.AppImage /usr/local/bin/appimagetool |
40 | 44 | fi |
|
48 | 52 |
|
49 | 53 | # zig: https://ziglang.org |
50 | 54 | if [ ! -d "/opt/zig-linux-${ARCH}-${ZIG_VERSION}" ]; then |
51 | | - wget -q "https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz" -O /tmp/zig-linux.tar.xz |
| 55 | + wget -q "${ZIG_URL}" -O /tmp/zig-linux.tar.xz |
52 | 56 | tar -xf /tmp/zig-linux.tar.xz -C /opt |
53 | 57 | ln -s "/opt/zig-linux-${ARCH}-${ZIG_VERSION}/zig" /usr/local/bin/zig |
54 | 58 | fi |
55 | 59 |
|
| 60 | +# pandoc: https://github.com/jgm/pandoc |
| 61 | +if [ ! -f '/usr/local/bin/pandoc' ]; then |
| 62 | + wget -q "${PANDOC_URL}" -O /tmp/pandoc-linux.tar.gz |
| 63 | + tar -xzf /tmp/pandoc-linux.tar.gz -C /tmp |
| 64 | + mv /tmp/"pandoc-${PANDOC_VERSION}"/bin/* /usr/local/bin |
| 65 | +fi |
| 66 | + |
56 | 67 | # Cleanup |
57 | 68 | rm -rf \ |
58 | 69 | /tmp/appimagetool.AppImage \ |
59 | | - /tmp/minisign-linux.tar.gz \ |
60 | | - /tmp/minisign-linux \ |
61 | | - /tmp/zig-linux.tar.xz |
62 | | - |
63 | | -# Reset DEBIAN_FRONTEND to default |
64 | | -unset DEBIAN_FRONTEND |
| 70 | + /tmp/minisign-linux* \ |
| 71 | + /tmp/zig-linux.tar.xz \ |
| 72 | + /tmp/pandoc* |
0 commit comments