#!/bin/sh -ex

DIR="$1"

case $(uname -s) in
  Darwin)
    brew install curl zlib pcre2 openssl
    brew link --force curl zlib pcre2 openssl
    CURLDIR="$(curl-config --prefix)";;
  Linux)
    export DEBIAN_FRONTEND=noninteractive
    if test -f /etc/apt/sources.list.d/ubuntu.sources; then
      # Ubuntu 24.04
      sed -e 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources | sudo tee /etc/apt/sources.list.d/ubuntu.sources
    else
      # Ubuntu 22.04 and earlier
      sed -e 's/^deb/deb-src/' /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/src.list
    fi
    sudo apt-get update
    sudo apt-get install build-essential
    sudo apt-get -y build-dep git;;
esac

GIT_INSTALL_PATH="${GIT_INSTALL_DIR:-"/usr/local"}"

cd "$DIR"
printf "%s\n" \
  "NO_GETTEXT=YesPlease" \
  "NO_OPENSSL=YesPlease" \
  "prefix=$GIT_INSTALL_PATH" \
  > config.mak
if test -n "$CURLDIR"; then
  printf "%s\n" \
    "CURLDIR=$CURLDIR" \
    >> config.mak
fi
make -j2
sudo make install

echo "Git version:"
git --version
