# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>

_bootstrap=0

_realname=sbcl
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.5.9
pkgrel=1
pkgdesc="Steel Bank Common Lisp (mingw-w64)"
url="https://www.sbcl.org/"
msys2_repository_url="https://sourceforge.net/p/sbcl/sbcl"
msys2_changelog_url="https://sourceforge.net/p/sbcl/sbcl/ci/master/tree/NEWS"
arch=('any')
mingw_arch=('mingw64' 'ucrt64')
license=('custom')
depends=("${MINGW_PACKAGE_PREFIX}-zstd")
source=("https://downloads.sourceforge.net/project/sbcl/sbcl/${pkgver}/${_realname}-${pkgver}-source.tar.bz2")
sha256sums=('d1b19022d43dc493edc972b6e59c93ae6684c963fdd2b413b0965e18cd6bd1e2')
makedepends=("${MINGW_PACKAGE_PREFIX}-cc")

if (( _bootstrap )); then
  makedepends+=("${MINGW_PACKAGE_PREFIX}-msitools")
  source+=("https://downloads.sourceforge.net/project/sbcl/sbcl/${pkgver}/${_realname}-${pkgver}-x86-64-windows-binary.msi")
  sha256sums+=('219a103dcf38c39642216212bdf83330fa9db9d41deaaa1f54563e2799d9e3d6')
else
  makedepends+=("${MINGW_PACKAGE_PREFIX}-sbcl")
fi

build() {
  cd "${_realname}-${pkgver}"

  if (( _bootstrap )); then
    mkdir -p "${srcdir}/sbcl-bootstrap"
    cd "${srcdir}/sbcl-bootstrap"
    msiextract "${srcdir}/${_realname}-${pkgver}-x86-64-windows-binary.msi"
    export PATH="${srcdir}/sbcl-bootstrap/PFiles/Steel Bank Common Lisp:${PATH}"
    cd "${srcdir}/${_realname}-${pkgver}"
  fi

  export LINKFLAGS="${LDFLAGS}"
  ./make.sh sbcl --prefix="${MINGW_PREFIX}" --fancy
}

package() {
  cd "${_realname}-${pkgver}"

  INSTALL_ROOT="${pkgdir}${MINGW_PREFIX}" ./install.sh

  install -D -m644 "${srcdir}/${_realname}-${pkgver}/COPYING" \
                   "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
}
