{
lib,
stdenv,
fetchFromGitHub,
cmake,
openssl,
enableStatic ? stdenv.hostPlatform.isStatic,
enableShared ? !stdenv.hostPlatform.isStatic,
}:
stdenv.mkDerivation rec {
pname = "paho.mqtt.c";
version = "1.3.13";
src = fetchFromGitHub {
owner = "eclipse";
repo = "paho.mqtt.c";
rev = "v${version}";
hash = "sha256-dKQnepQAryAjImh2rX1jdgiKBtJQy9wzk/7rGQjUtPg=";
};
postPatch = ''
substituteInPlace src/MQTTVersion.c \
--replace "namebuf[60]" "namebuf[120]" \
--replace "lib%s" "$out/lib/lib%s"
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ openssl ];
cmakeFlags = [
(lib.cmakeBool "PAHO_WITH_SSL" true)
(lib.cmakeBool "PAHO_BUILD_STATIC" enableStatic)
(lib.cmakeBool "PAHO_BUILD_SHARED" enableShared)
];
meta = with lib; {
description = "Eclipse Paho MQTT C Client Library";
mainProgram = "MQTTVersion";
homepage = "https://www.eclipse.org/paho/";
license = licenses.epl20;
maintainers = with maintainers; [ sikmir ];
platforms = platforms.unix;
}