# Contributor: Abdó Roig-Maranges <abdo.roig@gmail.com>

_realname=git-lfs
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=3.6.0
pkgsrc=${_realname}-${pkgver}
pkgrel=1
arch=(any)
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
pkgdesc="An open source Git extension for versioning large files (mingw-w64)"
url="https://git-lfs.github.com/"
msys2_references=(
  "cpe: cpe:/a:git_large_file_storage_project:git_large_file_storage"
)
license=('spdx:MIT')
depends=("git")
makedepends=("unzip"
             "${MINGW_PACKAGE_PREFIX}-go"
             #"${MINGW_PACKAGE_PREFIX}-ruby"
             )
options=('!strip')
source=("${pkgsrc}.tar.gz::https://github.com/git-lfs/git-lfs/releases/download/v${pkgver}/${_realname}-v${pkgver}.tar.gz"
        "https://github.com/git-lfs/git-lfs/commit/de6a135d731b9e98ca9da043f346794ea6bc4ecb.patch")
# Extract sources ourselves (avoid bsdtar failure in pull #2406)
noextract=(${pkgsrc}.tar.gz)
sha256sums=('9a5d2a598b4096f0fdde5b2ead6038996c657acafe5a89d22b8c2f1b56aeaf36'
            'e095c7cbbc5a7409988b569903738bbea9b30127f40afb711b45a6dd60cab44e')

prepare() {
  # Extract sources ourselves (avoid bsdtar failure in pull #2406)
  [[ -d ${srcdir}/${pkgsrc} ]] && rm -rf ${srcdir}/${pkgsrc}
  tar -xf ${srcdir}/${pkgsrc}.tar.gz -C ${srcdir} || true

  # apply patches
  cd "${srcdir}/${pkgsrc}"

  # https://github.com/msys2/MINGW-packages/issues/15005
  patch -R -p1 -i "${srcdir}/de6a135d731b9e98ca9da043f346794ea6bc4ecb.patch"

  # Clear go cache
  #rm -Rf "${srcdir}/src"

  # Setup local gopath
  #mkdir -p "${srcdir}/src/github.com/git-lfs"
  #cp -R "${srcdir}/${pkgsrc}/" "${srcdir}/src/github.com/git-lfs/git-lfs"

  # Fetch dependencies
  #. ${MINGW_PREFIX}/etc/profile.d/go.sh
  #GOPATH="${srcdir}" go get -v -d

  #gem install ronn
}

build() {
  cd "${srcdir}/${pkgsrc}"

  ${MINGW_PREFIX}/bin/go build \
    -gcflags "all=-trimpath=${PWD}" \
    -asmflags "all=-trimpath=${PWD}" \
    .

  # build
  #. ${MINGW_PREFIX}/etc/profile.d/go.sh
  #GOPATH="${srcdir}" go run script/*.go -cmd build
  #GOPATH="${srcdir}" make

  # The man pages need ronn, which needs a bunch of missing ruby dependencies.
  #ronn docs/man/*.ronn
}

package() {
  cd "${srcdir}/${pkgsrc}"
  install -Dm755 "git-lfs.exe" "${pkgdir}${MINGW_PREFIX}/bin/git-lfs.exe"
  install -Dm644 LICENSE.md "${pkgdir}${MINGW_PREFIX}"/share/licenses/${_realname}/LICENSE
  # man page
  #install -d "${pkgdir}${MINGW_PREFIX}/share/man/man1"
  #install -Dm644 docs/man/*.1 "${pkgdir}${MINGW_PREFIX}/share/man/man1"
}

