app-misc/mosquitto: fix conditional tests for v1.4.15
authorLucas Ramage <ramage.lucas@openmailbox.org>
Thu, 26 Apr 2018 17:19:14 +0000 (17:19 +0000)
committerThomas Deutschmann <whissi@gentoo.org>
Mon, 30 Apr 2018 01:26:19 +0000 (03:26 +0200)
Closes: https://bugs.gentoo.org/650632
Closes: https://bugs.gentoo.org/653238
Closes: https://github.com/gentoo/gentoo/pull/8027
Package-Manager: Portage-2.3.24, Repoman-2.3.6

app-misc/mosquitto/files/mosquitto-1.4.15-conditional-tests.patch [new file with mode: 0644]
app-misc/mosquitto/mosquitto-1.4.15-r2.ebuild [new file with mode: 0644]

diff --git a/app-misc/mosquitto/files/mosquitto-1.4.15-conditional-tests.patch b/app-misc/mosquitto/files/mosquitto-1.4.15-conditional-tests.patch
new file mode 100644 (file)
index 0000000..1642597
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/test/broker/c/Makefile   2016-02-14 14:36:55.000000000 +0000
++++ b/test/broker/c/Makefile   2016-05-05 09:40:31.440608209 +0100
+@@ -13,7 +13,9 @@
+       $(CC) ${CFLAGS} $^ -o $@ ../../../lib/libmosquitto.so.1
+ 08-tls-psk-bridge.test : 08-tls-psk-bridge.c
++ifeq ($(WITH_BRIDGE),yes)
+       $(CC) ${CFLAGS} $^ -o $@ ../../../lib/libmosquitto.so.1
++endif
+ reallyclean : clean
diff --git a/app-misc/mosquitto/mosquitto-1.4.15-r2.ebuild b/app-misc/mosquitto/mosquitto-1.4.15-r2.ebuild
new file mode 100644 (file)
index 0000000..48165a4
--- /dev/null
@@ -0,0 +1,102 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit systemd user toolchain-funcs python-any-r1
+
+DESCRIPTION="An Open Source MQTT v3 Broker"
+HOMEPAGE="https://mosquitto.org/"
+SRC_URI="https://mosquitto.org/files/source/${P}.tar.gz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="bridge examples +persistence +srv ssl tcpd test websockets"
+
+REQUIRED_USE="test? ( bridge )"
+
+RDEPEND="tcpd? ( sys-apps/tcp-wrappers )
+       ssl? ( dev-libs/openssl:0= )"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       srv? ( net-dns/c-ares )
+       websockets? ( net-libs/libwebsockets )"
+
+PATCHES=( "${FILESDIR}/${P}-conditional-tests.patch" )
+
+_emake() {
+       LIBDIR=$(get_libdir)
+       emake \
+               CC="$(tc-getCC)" \
+               LIB_SUFFIX="${LIBDIR:3}" \
+               WITH_BRIDGE="$(usex bridge)" \
+               WITH_PERSISTENCE="$(usex persistence)" \
+               WITH_SRV="$(usex srv)" \
+               WITH_TLS="$(usex ssl)" \
+               WITH_WEBSOCKETS="$(usex websockets)" \
+               WITH_WRAP="$(usex tcpd)" \
+               "$@"
+}
+
+pkg_setup() {
+       enewgroup mosquitto
+       enewuser mosquitto -1 -1 -1 mosquitto
+}
+
+src_prepare() {
+       default
+       if use persistence; then
+               sed -i -e "/^#autosave_interval/s|^#||" \
+                       -e "s|^#persistence false$|persistence true|" \
+                       -e "/^#persistence_file/s|^#||" \
+                       -e "s|#persistence_location|persistence_location /var/lib/mosquitto/|" \
+                       mosquitto.conf || die
+       fi
+
+       # Remove prestripping
+       sed -i -e 's/-s --strip-program=${CROSS_COMPILE}${STRIP}//'\
+               client/Makefile lib/cpp/Makefile src/Makefile lib/Makefile || die
+
+       python_setup
+       python_fix_shebang test
+}
+
+src_compile() {
+       _emake
+}
+
+src_test() {
+       _emake test
+}
+
+src_install() {
+       _emake DESTDIR="${D}" prefix=/usr install
+       keepdir /var/lib/mosquitto
+       fowners mosquitto:mosquitto /var/lib/mosquitto
+       dodoc readme.md CONTRIBUTING.md ChangeLog.txt
+       doinitd "${FILESDIR}"/mosquitto
+       insinto /etc/mosquitto
+       doins mosquitto.conf
+       systemd_dounit "${FILESDIR}/mosquitto.service"
+
+       if use examples; then
+               docompress -x "/usr/share/doc/${PF}/examples"
+               docinto "/usr/share/doc/${PF}"
+               doins -r examples
+       fi
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               elog "The Python module has been moved out of mosquitto."
+               elog "See https://mosquitto.org/documentation/python/"
+       else
+               elog "To start the mosquitto daemon at boot, add it to the default runlevel with:"
+               elog ""
+               elog "    rc-update add mosquitto default"
+               elog "    or"
+               elog "    systemctl enable mosquitto"
+       fi
+}