diff --git a/pkgs/development/libraries/cyclondds/0001-Use-full-path-in-pkgconfig.patch b/pkgs/development/libraries/cyclonedds/0001-Use-full-path-in-pkgconfig.patch similarity index 100% rename from pkgs/development/libraries/cyclondds/0001-Use-full-path-in-pkgconfig.patch rename to pkgs/development/libraries/cyclonedds/0001-Use-full-path-in-pkgconfig.patch diff --git a/pkgs/development/libraries/cyclondds/default.nix b/pkgs/development/libraries/cyclonedds/default.nix similarity index 95% rename from pkgs/development/libraries/cyclondds/default.nix rename to pkgs/development/libraries/cyclonedds/default.nix index 649446908395..d7cd6986e658 100644 --- a/pkgs/development/libraries/cyclondds/default.nix +++ b/pkgs/development/libraries/cyclonedds/default.nix @@ -5,7 +5,7 @@ }: stdenv.mkDerivation rec { - pname = "cyclondds"; + pname = "cyclonedds"; version = "0.10.2"; src = fetchFromGitHub { diff --git a/pkgs/servers/mqtt/nanomq/default.nix b/pkgs/servers/mqtt/nanomq/default.nix index 5091f41b50f2..482c274f2112 100644 --- a/pkgs/servers/mqtt/nanomq/default.nix +++ b/pkgs/servers/mqtt/nanomq/default.nix @@ -1,32 +1,48 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja, mbedtls, sqlite }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, ninja, pkg-config +, cyclonedds, libmysqlclient, mariadb, mbedtls, sqlite, zeromq +}: stdenv.mkDerivation (finalAttrs: { pname = "nanomq"; - version = "0.15.1"; + version = "0.15.5"; src = fetchFromGitHub { owner = "emqx"; repo = "nanomq"; rev = finalAttrs.version; - hash = "sha256-h4TCorZfg9Sin4CZPRifUkqeg4F2V1DluolerSeREs4="; + hash = "sha256-eIwUsYPpRZMl1oCuuZeOj0SCBHDaJdmdWdoI4yuqxrg="; fetchSubmodules = true; }; + patches = [ + # Fix the conflict on function naming in ddsproxy + (fetchpatch { + url = "https://github.com/emqx/nanomq/commit/20f436a3b9d45f9809d7c7f0714905c657354631.patch"; + hash = "sha256-ISMlf9QW73oogMTlifi/r08uSxBpzRYvBSJBB1hn2xY="; + }) + ]; + postPatch = '' substituteInPlace CMakeLists.txt \ --replace "DESTINATION /etc" "DESTINATION $out/etc" ''; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ cmake ninja pkg-config ]; - buildInputs = [ mbedtls sqlite ]; + buildInputs = [ cyclonedds libmysqlclient mariadb mbedtls sqlite zeromq ]; cmakeFlags = [ + "-DBUILD_BENCH=ON" + "-DBUILD_DDS_PROXY=ON" "-DBUILD_NANOMQ_CLI=ON" - "-DNNG_ENABLE_TLS=ON" + "-DBUILD_ZMQ_GATEWAY=ON" + "-DENABLE_RULE_ENGINE=ON" "-DNNG_ENABLE_SQLITE=ON" + "-DNNG_ENABLE_TLS=ON" ]; + NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-return-type"; + meta = with lib; { description = "An ultra-lightweight and blazing-fast MQTT broker for IoT edge"; homepage = "https://nanomq.io/"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d595b9d8fc33..a2d9e8c44625 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3095,7 +3095,7 @@ with pkgs; cuelsp = callPackage ../development/tools/cuelsp {}; - cyclondds = callPackage ../development/libraries/cyclondds { }; + cyclonedds = callPackage ../development/libraries/cyclonedds { }; cyclone-scheme = callPackage ../development/interpreters/cyclone { };