forked from mirrors/nixpkgs
b964f4b421
Unfortunately, buildRustPackage isn't very flexible right now, and most of these attrs can't be overridden. This is needed for some general patch work, but isn't really long term sustainable. I plan on reverting this after Vector 0.6 is out. Signed-off-by: Austin Seipp <aseipp@pobox.com>
53 lines
1.6 KiB
Nix
53 lines
1.6 KiB
Nix
{ stdenv, lib, fetchFromGitHub, rustPlatform
|
|
, openssl, pkgconfig, protobuf
|
|
, Security, libiconv
|
|
|
|
, features ?
|
|
(if stdenv.isAarch64
|
|
then [ "jemallocator" ]
|
|
else [ "leveldb" "jemallocator" ])
|
|
|
|
# Unfortunately, buildRustPackage does not really support using overrideAttrs
|
|
# on the underlying fields, because it doesn't pass them to stdenv.mkDerivation
|
|
# as an attr. making it a parameter is the only way to do so. sigh
|
|
|
|
, version ? "0.5.0"
|
|
|
|
, srcRef ? {
|
|
rev = "refs/tags/v${version}";
|
|
sha256 = "0niyxlvphn3awrpfh1hbqy767cckgjzyjrkqjxj844czxhh1hhff";
|
|
}
|
|
|
|
, cargoSha256 ? "0bdgan891hrah54g6aaysqizkxrfsbidnxihai0i7h7knzq9gsk5"
|
|
, patches ? []
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "vector";
|
|
inherit version cargoSha256 patches;
|
|
src = fetchFromGitHub {
|
|
owner = "timberio";
|
|
repo = pname;
|
|
inherit (srcRef) rev sha256;
|
|
};
|
|
|
|
buildInputs = [ openssl pkgconfig protobuf ]
|
|
++ stdenv.lib.optional stdenv.isDarwin [ Security libiconv ];
|
|
|
|
# needed for internal protobuf c wrapper library
|
|
PROTOC="${protobuf}/bin/protoc";
|
|
PROTOC_INCLUDE="${protobuf}/include";
|
|
|
|
# rdkafka fails to build, for some reason...
|
|
cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
|
|
checkPhase = ":"; # skip tests, too -- they don't respect the rdkafka flag...
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A high-performance logs, metrics, and events router";
|
|
homepage = "https://github.com/timberio/vector";
|
|
license = with licenses; [ asl20 ];
|
|
maintainers = with maintainers; [ thoughtpolice ];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|