#!/bin/sh

# Ensure we have gcc-go
MAKEDEPS="make gcc"
DEPS=""

PKG_VER=1.20.3
SOURCE=https://go.dev/dl/go$PKG_VER.src.tar.gz

BOOTSTRAP="go-linux-amd64-bootstrap-1.19.1"
ADDITIONAL="
    https://dev.gentoo.org/~williamh/dist/$BOOTSTRAP.tbz
"

DESC="Core compiler tools for the Go programming language"

prepare () {
    export TMPDIR=/tmp
    tar -xvf $BOOTSTRAP.tbz
    mv go-linux-amd64-bootstrap $BOOTSTRAP

    git init .
}

build () {
    export GOARCH=amd64
    export GOAMD64=v1 # make sure we're building for the right x86-64 version
    export GOOS="linux"

    export GOROOT_BOOTSTRAP="$(pwd)/$BOOTSTRAP"

    echo "~~~~BUILDING GOLANG"
    cd src
    ./make.bash -v || return 1 
    cd ..
}

package () {
  install -d "$PKG_DEST/usr/bin" "$PKG_DEST/usr/lib/go" "$PKG_DEST/usr/share/doc/go" \
    "$PKG_DEST/usr/lib/go/pkg/linux_amd64_"dynlink \
    "$PKG_DEST/usr/lib/go/pkg/linux_amd64_"race

  cp -a bin pkg src lib misc api test "$PKG_DEST/usr/lib/go"
  cp -r doc/* "$PKG_DEST/usr/share/doc/go"

  ln -sf /usr/lib/go/bin/go "$PKG_DEST/usr/bin/go"
  ln -sf /usr/lib/go/bin/gofmt "$PKG_DEST/usr/bin/gofmt"
  ln -sf /usr/share/doc/go "$PKG_DEST/usr/lib/go/doc"

  install -Dm644 VERSION "$PKG_DEST/usr/lib/go/VERSION"

  rm -rf "$PKG_DEST/usr/lib/go/pkg/bootstrap" "$PKG_DEST/usr/lib/go/pkg/tool/*/api"

  # TODO: Figure out if really needed
  rm -rf "$PKG_DEST"/usr/lib/go/pkg/obj/go-build/*

  install -Dm644 LICENSE "$PKG_DEST/usr/share/licenses/$pkgname/LICENSE"
}
