{ungoogled-,}chromium,chromedriver: 130.0.6723.58 -> 130.0.6723.69 (#351519)
[NixPkgs.git] / pkgs / servers / mqtt / mosquitto / default.nix
blob99bc3be76f17a553635a4fad41256ab98a4c32ae
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , cmake
5 , docbook_xsl
6 , libxslt
7 , c-ares
8 , cjson
9 , libuuid
10 , libuv
11 , libwebsockets
12 , openssl
13 , withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
14 , systemd
15 , uthash
16 , nixosTests
19 let
20   # Mosquitto needs external poll enabled in libwebsockets.
21   libwebsockets' = (libwebsockets.override {
22     withExternalPoll = true;
23   }).overrideAttrs (old: {
24     # Avoid bug in firefox preventing websockets being created over http/2 connections
25     # https://github.com/eclipse/mosquitto/issues/1211#issuecomment-958137569
26     cmakeFlags = old.cmakeFlags ++ [ "-DLWS_WITH_HTTP2=OFF" ];
27   });
30 stdenv.mkDerivation rec {
31   pname = "mosquitto";
32   version = "2.0.20";
34   src = fetchFromGitHub {
35     owner = "eclipse";
36     repo = "mosquitto";
37     rev = "v${version}";
38     hash = "sha256-oZo6J6mxMC05jJ8RXIunOMB3kptA6FElchKlg4qmuQ8=";
39   };
41   postPatch = ''
42     for f in html manpage ; do
43       substituteInPlace man/$f.xsl \
44         --replace http://docbook.sourceforge.net/release/xsl/current ${docbook_xsl}/share/xml/docbook-xsl
45     done
46   '';
48   outputs = [ "out" "dev" "lib" ];
50   nativeBuildInputs = [ cmake docbook_xsl libxslt ];
52   buildInputs = [
53     c-ares
54     cjson
55     libuuid
56     libuv
57     libwebsockets'
58     openssl
59     uthash
60   ] ++ lib.optional withSystemd systemd;
62   cmakeFlags = [
63     (lib.cmakeBool "WITH_BUNDLED_DEPS" false)
64     (lib.cmakeBool "WITH_WEBSOCKETS" true)
65     (lib.cmakeBool "WITH_SYSTEMD" withSystemd)
66   ];
68   postFixup = ''
69     sed -i "s|^prefix=.*|prefix=$lib|g" $dev/lib/pkgconfig/*.pc
70   '';
72   passthru.tests = {
73     inherit (nixosTests) mosquitto;
74   };
76   meta = {
77     description = "Open source MQTT v3.1/3.1.1/5.0 broker";
78     homepage = "https://mosquitto.org/";
79     changelog = "https://github.com/eclipse/mosquitto/blob/v${version}/ChangeLog.txt";
80     license = lib.licenses.epl10;
81     maintainers = [ lib.maintainers.peterhoeg ];
82     platforms = lib.platforms.unix;
83     mainProgram = "mosquitto";
84   };