#!/usr/bin/with-contenv bash

echo "ensuring golang is in PATH"
if grep -q -E '^(export )?PATH=' /etc/services.d/code-server/run; then
    if ! grep -q -E '^(export )?PATH=.*/usr/local/go/bin.*' /etc/services.d/code-server/run; then
        sed -i '/PATH/ s/$/:\/usr\/local\/go\/bin/' /etc/services.d/code-server/run
    fi
    if ! grep -q -E '^(export )?PATH=.*/config/go/bin:.*' /etc/services.d/code-server/run; then
        sed -i 's/PATH=/PATH=\/config\/go\/bin:/g' /etc/services.d/code-server/run
    fi
else
    sed -i '/^#!\/usr\/bin/a \\n# Added by codeserver-golang\nexport PATH=/config/go/bin:$PATH:/usr/local/go/bin' /etc/services.d/code-server/run
fi

ARCH=$(uname -m)
if [ -f "/golang/golang_${ARCH}.tar.gz" ]; then
    echo "Installing golang"
    tar xzf "/golang/golang_${ARCH}.tar.gz" -C /usr/local
    rm -rf /golang

    echo "Installing gcc, to make CGO work"
    apt-get install -y gcc
else
    echo "Golang already installed, skipping"
fi
