From e9c57f8a3105d340923dfdcf795e860561b16a9f Mon Sep 17 00:00:00 2001 From: Julius Michaelis Date: Thu, 17 Oct 2024 10:48:45 +0900 Subject: [PATCH] rdkafka: switch from mklove to cmake and split off dev output removes some now-unnecessary dependencies --- pkgs/by-name/mo/modern-cpp-kafka/package.nix | 5 +++++ pkgs/by-name/rd/rdkafka/package.nix | 22 +++++++++++++------ .../php-packages/rdkafka/default.nix | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/mo/modern-cpp-kafka/package.nix b/pkgs/by-name/mo/modern-cpp-kafka/package.nix index 431014c6b5ad..6f1b37ed6452 100644 --- a/pkgs/by-name/mo/modern-cpp-kafka/package.nix +++ b/pkgs/by-name/mo/modern-cpp-kafka/package.nix @@ -41,6 +41,11 @@ stdenv.mkDerivation rec { url = "https://github.com/morganstanley/modern-cpp-kafka/commit/236f8f91f5c3ad6e1055a6f55cd3aebd218e1226.patch"; hash = "sha256-cy568TQUu08sadq79hDz9jMvDqiDjfr+1cLMxFWGm1Q="; }) + (fetchpatch { + name = "macos-find-dylib.patch"; + url = "https://github.com/morganstanley/modern-cpp-kafka/commit/dc2753cd95b607a7202b40bad3aad472558bf350.patch"; + hash = "sha256-Te3GwAVRDyb6GFWlvkq1mIcNeXCtMyLr+/w1LilUYbE="; + }) ]; postPatch = '' diff --git a/pkgs/by-name/rd/rdkafka/package.nix b/pkgs/by-name/rd/rdkafka/package.nix index 9405e9f3951c..93666278b134 100644 --- a/pkgs/by-name/rd/rdkafka/package.nix +++ b/pkgs/by-name/rd/rdkafka/package.nix @@ -4,11 +4,10 @@ fetchFromGitHub, zlib, zstd, - pkg-config, - python3, openssl, - which, curl, + cmake, + ninja, }: stdenv.mkDerivation (finalAttrs: { @@ -22,10 +21,14 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-OCCsxgEO8UvCcC0XwzqpqmaT8dV0Klrspp+2o1FbH2Y="; }; + outputs = [ + "out" + "dev" + ]; + nativeBuildInputs = [ - pkg-config - python3 - which + cmake + ninja ]; buildInputs = [ @@ -35,7 +38,12 @@ stdenv.mkDerivation (finalAttrs: { curl ]; - env.NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow"; + # some tests don't build on darwin + cmakeFlags = [ + (lib.cmakeBool "RDKAFKA_BUILD_TESTS" (!stdenv.hostPlatform.isDarwin)) + (lib.cmakeBool "RDKAFKA_BUILD_EXAMPLES" (!stdenv.hostPlatform.isDarwin)) + (lib.cmakeFeature "CMAKE_C_FLAGS" "-Wno-error=strict-overflow") + ]; postPatch = '' patchShebangs . diff --git a/pkgs/development/php-packages/rdkafka/default.nix b/pkgs/development/php-packages/rdkafka/default.nix index 71d411b594e9..ee0d0f640ca0 100644 --- a/pkgs/development/php-packages/rdkafka/default.nix +++ b/pkgs/development/php-packages/rdkafka/default.nix @@ -18,7 +18,7 @@ buildPecl { postPhpize = '' substituteInPlace configure \ - --replace 'SEARCH_PATH="/usr/local /usr"' 'SEARCH_PATH=${rdkafka}' + --replace-fail 'SEARCH_PATH="/usr/local /usr"' 'SEARCH_PATH=${lib.getInclude rdkafka}' ''; meta = with lib; {