about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix28
1 files changed, 18 insertions, 10 deletions
diff --git a/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix b/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
index a8203ce1b168..75a0498dd3f1 100644
--- a/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
+++ b/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
@@ -1,23 +1,29 @@
-{ stdenv, fetchFromGitHub, fetchpatch, cmake, docbook_xsl, libxslt
-, openssl, libuuid, libwebsockets, c-ares, libuv }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, docbook_xsl, libxslt
+, openssl, libuuid, libwebsockets, c-ares, libuv
+, systemd ? null }:
 
-stdenv.mkDerivation rec {
+let
+  withSystemd = stdenv.isLinux;
+
+in stdenv.mkDerivation rec {
   name = "mosquitto-${version}";
-  version = "1.5.5";
+  version = "1.5.8";
 
   src = fetchFromGitHub {
     owner  = "eclipse";
     repo   = "mosquitto";
     rev    = "v${version}";
-    sha256 = "1sfwmvrglfy5gqfk004kvbjldqr36dqz6xmppbgfhr47j5zs66xc";
+    sha256 = "1rf8g6fq7g1mhwsajsgvvlynasybgc51v0qg5j6ynsxfh8yi7s6r";
   };
 
   postPatch = ''
-    substituteInPlace man/manpage.xsl \
-      --replace /usr/share/xml/docbook/stylesheet/ ${docbook_xsl}/share/xml/
+    for f in html manpage ; do
+      substituteInPlace man/$f.xsl \
+        --replace http://docbook.sourceforge.net/release/xsl/current ${docbook_xsl}/share/xml/docbook-xsl
+    done
 
     for f in {lib,lib/cpp,src}/CMakeLists.txt ; do
-      substituteInPlace $f --replace /sbin/ldconfig ldconfig
+      substituteInPlace $f --replace /sbin/ldconfig true
     done
 
     # the manpages are not generated when using cmake
@@ -26,7 +32,9 @@ stdenv.mkDerivation rec {
     popd
   '';
 
-  buildInputs = [ openssl libuuid libwebsockets c-ares libuv ];
+  buildInputs = [
+    openssl libuuid libwebsockets c-ares libuv
+  ] ++ lib.optional withSystemd systemd;
 
   nativeBuildInputs = [ cmake docbook_xsl libxslt ];
 
@@ -35,7 +43,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DWITH_THREADING=ON"
     "-DWITH_WEBSOCKETS=ON"
-  ];
+  ] ++ lib.optional withSystemd "-DWITH_SYSTEMD=ON";
 
   meta = with stdenv.lib; {
     description = "An open source MQTT v3.1/3.1.1 broker";