From b681d0642d32c6a9d5790b2cd60bf656f0d4934e Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sat, 18 Feb 2023 19:02:33 +0300 Subject: [PATCH] =?UTF-8?q?nanomq:=200.15.1=20=E2=86=92=200.15.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/servers/mqtt/nanomq/default.nix | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/mqtt/nanomq/default.nix b/pkgs/servers/mqtt/nanomq/default.nix index 5091f41b50f..482c274f211 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/";