# Contributor: Pedro Filipe <xpecex@outlook.com>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Max Rees <maxcrees@me.com>
pkgname=mosquitto
pkgver=2.0.14
pkgrel=0
pkgdesc="An Open Source MQTT Broker"
url="https://mosquitto.org/"
arch="all"
license="EPL-1.0 AND EDL-1.0 AND MIT AND BSD-3-Clause"
depends=""
checkdepends="python3 ca-certificates cunit-dev"
makedepends="c-ares-dev openssl-dev util-linux-dev cjson-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-openrc
	$pkgname-clients"
install="$pkgname.pre-install"
source="http://mosquitto.org/files/source/$pkgname-$pkgver.tar.gz
	mosquitto.initd
	openrc-conf.patch
	"

# secfixes:
#   1.6.6-r0:
#     - CVE-2019-11779
#   1.5.6-r0:
#     - CVE-2018-12546
#     - CVE-2018-12550
#     - CVE-2018-12551
#   1.5.3-r0:
#     - CVE-2018-12543
#   1.4.15-r0:
#     - CVE-2017-7652
#     - CVE-2017-7651
#   1.4.13-r0:
#     - CVE-2017-9868
#   1.4.12-r0:
#     - CVE-2017-7650

build() {
	make \
		WITH_ADNS=no \
		WITH_MEMORY_TRACKING=no \
		WITH_SRV=yes \
		prefix=/usr
}

check() {
	# Explicitly disable tests, instead of enabling only good ones.
	sed -i test/broker/test.py \
		-e '/08-ssl-connect-cert-auth-without.py/d' `#687` \
		;
	sed -i test/lib/test.py \
		-e '/02-subscribe-qos1.py/d' \
		;
	sed -i test/client/Makefile \
		-e '/test.sh/d' \
		;
	make ptest
}

package() {
	make prefix=/usr DESTDIR="$pkgdir" install

	# C++ bindings are deprecated, so don't install them.
	make -C lib/cpp prefix=/usr DESTDIR="$pkgdir" uninstall
	rm "$pkgdir"/usr/lib/pkgconfig/libmosquittopp.pc

	mv "$pkgdir"/usr/sbin/mosquitto "$pkgdir"/usr/bin
	mv "$pkgdir"/etc/mosquitto/mosquitto.conf.example \
		"$pkgdir"/etc/mosquitto/mosquitto.conf

	install -Dm755 "$srcdir"/mosquitto.initd \
		"$pkgdir"/etc/init.d/mosquitto
}

clients() {
	pkgdesc="Mosquitto command line MQTT clients"

	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/mosquitto_[ps]ub "$subpkgdir"/usr/bin/
}

sha512sums="a9e4f41b9af679b30318570e86a465546024651373df10e3b132f4593b89d22d0dbac01bb7371a57132ba030a2e73971c612acb5c9ac12f5ccd06aa38d9444c2  mosquitto-2.0.14.tar.gz
681fddc737b3ef3e6c052f0c854a730df290352640a18a63e23ef83d14c425558aff87805d1eb95e44de101b5df48872173af9f5414464ffa8cf727ea2c0491e  mosquitto.initd
b07f9bec2751ab32c43f53e74d8fca18dbf2d7ce7f8fab562dbcf75de19609ba6219d735ac504697404e0ed36613a14074e3a19e735297195877798f778d337a  openrc-conf.patch"