# Template file for 'mosquitto'
pkgname=mosquitto
version=1.6.3
revision=4
build_style=gnu-makefile
make_build_args="WITH_TLS_PSK=no WITH_WEBSOCKETS=yes" # PSK not supported by libressl
make_install_args="prefix=/usr"
make_check_target=test
conf_files="/etc/mosquitto/mosquitto.conf"
makedepends="c-ares-devel libressl-devel libwebsockets-devel libuv-devel"
checkdepends="python bcunit-devel"
short_desc="MQTT version 3.1/3.1.1/5.0 compatible message broker"
maintainer="Lukas Braun <koomi@hackerspace-bamberg.de>"
license="EPL-1.0, BSD-3-Clause-Attribution"
homepage="https://mosquitto.org"
distfiles="${homepage}/files/source/${pkgname}-${version}.tar.gz"
checksum=9ef5cc75f4fe31d7bf50654ddf4728ad9e1ae2e5609a4b42ecbbcb4a209ed17e

system_accounts="_mosquitto"
_mosquitto_homedir="/var/lib/mosquitto"
make_dirs="/var/lib/mosquitto 0755 ${system_accounts} ${system_accounts}"

CFLAGS="-fcommon"

post_extract() {
	case "$XBPS_TARGET_MACHINE" in
		*-musl)
			post_extract() {
				vsed -e 's/-lanl//' -i config.mk
			}
	esac
}

pre_install() {
	sed -i 's,sbin,bin,g' */Makefile
}

post_install() {
	vlicense edl-v10 LICENSE
	mv ${DESTDIR}/etc/${pkgname}/${pkgname}.conf.example \
		${DESTDIR}/etc/${pkgname}/${pkgname}.conf
	vmkdir usr/share/examples/${pkgname}
	mv ${DESTDIR}/etc/${pkgname}/*.example \
		${DESTDIR}/usr/share/examples/${pkgname}
	vsv mosquitto
}

mosquitto-clients_package() {
	short_desc="Mosquitto command line MQTT clients"
	pkg_install() {
		vmove usr/bin/mosquitto_pub
		vmove usr/bin/mosquitto_sub
		vmove usr/share/man/man1/mosquitto_pub.1
		vmove usr/share/man/man1/mosquitto_sub.1
	}
}

libmosquitto_package() {
	short_desc="MQTT version 3.1/3.1.1/5.0 client library"
	pkg_install() {
		vmove "usr/lib/libmosquitto.so.*"
	}
}

libmosquitto-devel_package() {
	short_desc="MQTT version 3.1/3.1.1/5.0 client library - development files"
	depends="libmosquitto-${version}_${revision}"
	pkg_install() {
		vmove usr/include/mosquitto.h
		vmove usr/include/mosquitto_plugin.h
		vmove usr/include/mosquitto_broker.h
		vmove usr/lib/libmosquitto.so
		vmove usr/share/man/man3/libmosquitto.3
		vmove usr/lib/pkgconfig/libmosquitto.pc
	}
}

libmosquittopp_package() {
	short_desc="MQTT version 3.1/3.1.1/5.0 C++ client library"
	pkg_install() {
		vmove "usr/lib/libmosquittopp.so.*"
	}
}

libmosquittopp-devel_package() {
	short_desc="MQTT version 3.1/3.1.1/5.0 C++ client library - development files"
	depends="libmosquittopp-${version}_${revision}"
	pkg_install() {
		vmove usr/include/mosquittopp.h
		vmove usr/lib/libmosquittopp.so
		vmove usr/lib/pkgconfig/libmosquittopp.pc
	}
}
