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

_bootstrap=0

_realname=sbcl
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.5.6
pkgrel=2
pkgdesc="Steel Bank Common Lisp (mingw-w64)"
url="https://www.sbcl.org/"
msys2_repository_url="https://sourceforge.net/p/sbcl/sbcl"
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=('6dd7cebff6d38f2e41baece14c4c56a32e968828aaa4171b8e840852c5b43f35')
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+=('d674631c324142f3fd71fb049f628c677b41c462134b56f1ac7449c2162de8da')
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"
}
