description="Git extension for versioning large files"
url="https://git-lfs.github.com"

packager="Great-OS Team"
maintainer="Great-OS Team"

name=git-lfs
version=3.7.1
release=1

goversion=1.25.5

PKGMK_KEEP_SOURCES="no"

source=(https://github.com/git-lfs/git-lfs/archive/refs/tags/v${version}.tar.gz)

prepare() {
  cd $name-$version

  wget https://golang.org/dl/go$goversion.linux-amd64.tar.gz
  tar -C $SRC -xf go$goversion.linux-amd64.tar.gz

  export CGO_LDFLAGS="${LDFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export PATH=$SRC/go/bin:$PATH
  export GOPATH=$SRC/go/bin
  export GOCACHE=/tmp
  export GOFLAGS="-buildmode=pie -trimpath"
  export CGO_LDFLAGS_ALLOW="-Wl,-z,now"

  # create directory for build output
  mkdir bin

  # verify modules
  go mod verify
}

build(){
  cd $name-$version
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export PATH=$SRC/go/bin:$PATH
  export GOPATH=$SRC/go/bin
  export GOCACHE=/tmp
  export GOFLAGS="-buildmode=pie -trimpath -modcacherw -ldflags=-linkmode=external"
  go mod vendor
  go generate ./commands
  go build .

  install -Dm755 $name $PKG/usr/bin/$name
  install -Dm644 LICENSE.md $PKG/usr/share/licenses/$name/LICENSE
}
