# Maintainer: Renato Silva <br.renatosilva@gmail.com>

_realname=libmongoose
pkgbase="mingw-w64-${_realname}"
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}
         ${MINGW_PACKAGE_PREFIX}-${_realname}-docs)
pkgver=7.20
pkgrel=1
pkgdesc='Embedded web server for C/C++ (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://github.com/cesanta/mongoose"
msys2_references=(
  'aur: mongoose'
  "cpe: cpe:/a:cesanta:mongoose"
)
license=('spdx:GPL-2.0-only')
makedepends=("${MINGW_PACKAGE_PREFIX}-cc")
source=("https://github.com/cesanta/mongoose/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
        mongoose.pc
        Makefile)
noextract=(${_realname}-${pkgver}.tar.gz)
sha256sums=('ede2371ff4e41e95fd7b2de83a7df727388307a64d3706046ead320defe35e7e'
            '7ff212f0d496a1082282f4722113084f9037d7c501ec90ca124e4de0cc2b2545'
            '598d5e6558150b4eca82a03cff7decc4cc2a3384ca69b977ab9410f6d998ad81')

prepare() {
  tar -xzf "${srcdir}"/${_realname}-${pkgver}.tar.gz -C "${srcdir}" || true

  cp Makefile mongoose-${pkgver}/
  cp mongoose.pc mongoose-${pkgver}/
}

build() {
  cd "${srcdir}/mongoose-${pkgver}"
  make PREFIX=${MINGW_PREFIX} CC=cc AR=ar -j1
}

package_libmongoose() {
  cd "${srcdir}/mongoose-${pkgver}"
  make PREFIX=${MINGW_PREFIX} DESTDIR="${pkgdir}" install
  install -D -m644 mongoose.pc "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/mongoose.pc"
  install -D -m644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"

  sed -e "s|@@PREFIX@@|${MINGW_PREFIX}|g" \
      -e "s|@@VERSION@@|${pkgver}|g" \
      -i "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/mongoose.pc"
}

package_libmongoose-docs() {
  pkgdesc+=" (documentation)"
  depends=()
  
  cd "${srcdir}/mongoose-${pkgver}"
  
  make PREFIX=${MINGW_PREFIX} DESTDIR="${pkgdir}" install-docs
}

# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
# vim: set ft=bash :

# generate wrappers
for _name in "${pkgname[@]}"; do
  _short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
  _func="$(declare -f "${_short}")"
  eval "${_func/#${_short}/package_${_name}}"
done
# template end;
