pkgname=mosquitto
pkgver=2.1.2
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_documentation_url='https://mosquitto.org/documentation/'
msys2_changelog_url='https://github.com/eclipse-mosquitto/mosquitto/blob/master/ChangeLog.txt'
msys2_references=(
  'anitya: 6078'
  'archlinux: mosquitto'
  'cpe: cpe:/a:eclipse:mosquitto'
  'gentoo: app-misc/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'
)
noextract=("${pkgname}-${pkgver}.tar.gz")
sha512sums=('f75bf9461680c35ec1c9837bec33490f3709df0adee3bb1ef69151e61b6afabc36dc562f54de43cb11fa7aa57417100d30be83fafc0d6585308f239f0a4a40d5'
            'e1c846184f9bb1c5bee4ffe8d7915fbf5b85dddbbc92a6f4d072b1725d06f502be197ad328a8d6c23ea2b5250d26f1a9ee57aad5ad523e7ea906a9e93e4a81e5')
validpgpkeys=('A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7') # Roger A. Light <roger@atchoo.org>

prepare() {
  # fixes symlinks: www/man
  bsdtar -xf "${pkgname}-${pkgver}.tar.gz" || true

  cd "${pkgname}-${pkgver}"

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

build() {
  local cmake_options=(
    -B build
    -S "${pkgname}-${pkgver}"
    -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
    -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"
}
