pkgname=mosquitto
pkgver=2.1.0
pkgrel=1
pkgdesc="An Open Source MQTT Broker"
arch=(x86_64)
url="https://mosquitto.org"
msys2_repository_url="https://github.com/eclipse-mosquitto/mosquitto"
msys2_references=(
  "cpe: cpe:/a:eclipse:mosquitto"
)
license=('spdx:EPL-2.0 OR EDL-1.0')
depends=(
  cjson
  libcares
  libmicrohttpd
  libopenssl
  libwebsockets
)
makedepends=(
  cmake
  docbook-xsl
  gcc
  libcares-devel
  openssl-devel
)
source=(
  https://mosquitto.org/files/source/$pkgname-$pkgver.tar.gz
  0001-Fix-the-build-for-cygwin-and-msys2.patch
)
sha512sums=('5c5d4e0900a7087c10e30d12dd7ca72009b9acc0c28831d70e3d1730af15cbab7d7606306bd04989b161f7b46db9b6dfc36deb28918cfb44089ad65626f3ed14'
            'e1c846184f9bb1c5bee4ffe8d7915fbf5b85dddbbc92a6f4d072b1725d06f502be197ad328a8d6c23ea2b5250d26f1a9ee57aad5ad523e7ea906a9e93e4a81e5')
validpgpkeys=('A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7') # Roger A. Light <roger@atchoo.org>

prepare() {
  cd $pkgname-$pkgver

  patch -p1 -i "${srcdir}/0001-Fix-the-build-for-cygwin-and-msys2.patch"
}

build() {
  local cmake_options=(
    -B build
    -D CMAKE_BUILD_TYPE=None
    -D CMAKE_INSTALL_PREFIX=/usr
    -D CMAKE_INSTALL_SBINDIR=bin
    -D CMAKE_INSTALL_SYSCONFDIR=/etc
    -D WITH_SRV=ON
    -D WITH_PLUGINS=OFF
    -D WITH_WEBSOCKETS=ON
    -D WITH_TESTS=OFF
    -S $pkgname-$pkgver
    -W no-dev
  )
  cmake "${cmake_options[@]}"

  cmake --build build
}

package() {
  DESTDIR="$pkgdir" cmake --install build

  install -Dm644 "$pkgname-$pkgver/epl-v20" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  ln -sf msys-mosquitto-1.dll   "$pkgdir/usr/bin/msys-mosquitto.dll"
  ln -sf msys-mosquittopp-1.dll "$pkgdir/usr/bin/msys-mosquittopp.dll"
}
