From 55b565d85af803d0fa6ce21563c228687c010cf4 Mon Sep 17 00:00:00 2001 From: happysalada Date: Fri, 11 Jun 2021 20:18:56 +0900 Subject: vector: 0.13.1 -> 0.14.0 --- pkgs/tools/misc/vector/default.nix | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'pkgs/tools/misc/vector') diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix index 161c28054b0..e8c3ed7cbe9 100644 --- a/pkgs/tools/misc/vector/default.nix +++ b/pkgs/tools/misc/vector/default.nix @@ -2,41 +2,57 @@ , lib , fetchFromGitHub , rustPlatform -, openssl , pkg-config +, llvmPackages +, openssl , protobuf +, rdkafka +, oniguruma +, zstd , Security , libiconv -, rdkafka -, tzdata , coreutils , CoreServices -, features ? ([ "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ] - ++ (lib.optional stdenv.targetPlatform.isUnix "unix") - ++ [ "sinks" "sources" "transforms" ]) +, tzdata + # kafka is optional but one of the most used features +, enableKafka ? true + # TODO investigate adding "api" "api-client" "vrl-cli" and various "vendor-*" + # "disk-buffer" is using leveldb TODO: investigate how useful + # it would be, perhaps only for massive scale? +, features ? ([ "sinks" "sources" "transforms" ] + # the second feature flag is passed to the rdkafka dependency + # building on linux fails without this feature flag (both x86_64 and AArch64) + ++ (lib.optionals enableKafka [ "rdkafka-plain" "rdkafka/dynamic_linking" ]) + ++ (lib.optional stdenv.targetPlatform.isUnix "unix")) }: rustPlatform.buildRustPackage rec { pname = "vector"; - version = "0.13.1"; + version = "0.14.0"; src = fetchFromGitHub { owner = "timberio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ige0138alZ0KAmPakPVmDVydz5qco6m0xK7AEzScyXc="; + sha256 = "sha256-wtihrR19jMJ7Kgvy6XBzOUrC/WKNVl2MVx4lWgXYlvg="; }; - cargoSha256 = "sha256-oK4M6zTfI0QVW9kQTgpP/vSxFt2VlRABmKvQ4aAqC74="; + cargoSha256 = "sha256-VYIzAqh5Xxmn1koxhh+UDb2G3WS2UVXffuBY7h5Kr7A="; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl protobuf rdkafka ] + buildInputs = [ oniguruma openssl protobuf rdkafka zstd ] ++ lib.optional stdenv.isDarwin [ Security libiconv coreutils CoreServices ]; # needed for internal protobuf c wrapper library PROTOC = "${protobuf}/bin/protoc"; PROTOC_INCLUDE = "${protobuf}/include"; + RUSTONIG_SYSTEM_LIBONIG = true; + LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; cargoBuildFlags = [ "--no-default-features" "--features" (lib.concatStringsSep "," features) ]; + # TODO investigate compilation failure for tests + # dev dependency includes httpmock which depends on iashc which depends on curl-sys with http2 feature enabled + # compilation fails because of a missing http2 include + doCheck = !stdenv.isDarwin; checkPhase = "TZDIR=${tzdata}/share/zoneinfo cargo test --no-default-features --features ${lib.concatStringsSep "," features} -- --test-threads 1"; # recent overhauls of DNS support in 0.9 mean that we try to resolve -- cgit 1.4.1