nixpkgs/pkgs/servers/web-apps/nifi/default.nix
2023-12-01 10:33:34 +00:00

46 lines
1.4 KiB
Nix

{ lib, stdenv, fetchzip, makeWrapper, jdk11, nixosTests }:
stdenv.mkDerivation rec {
pname = "nifi";
version = "1.24.0";
src = fetchzip {
url = "mirror://apache/nifi/${version}/nifi-${version}-bin.zip";
hash = "sha256-8S06E8RiH/EnfAa60eRzjmHmzMn+3UZbykJpvFFXEho=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jdk11 ];
installPhase = ''
cp -r ../$sourceRoot $out
rm -f $out/bin/*bat
rm -rf $out/extensions
mkdir -p $out/share/nifi
mv $out/conf $out/share/nifi
mv $out/docs $out/share/nifi
mv $out/{LICENSE,NOTICE,README} $out/share/nifi
substituteInPlace $out/bin/nifi.sh \
--replace "/bin/sh" "${stdenv.shell}"
substituteInPlace $out/bin/nifi-env.sh \
--replace "#export JAVA_HOME=/usr/java/jdk1.8.0/" "export JAVA_HOME=${jdk11}"
'';
passthru = {
tests.nifi = nixosTests.nifi;
};
meta = with lib; {
description = "Easy to use, powerful, and reliable system to process and distribute data";
longDescription = ''
Apache NiFi supports powerful and scalable directed graphs of data routing,
transformation, and system mediation logic.
'';
license = licenses.asl20;
homepage = "https://nifi.apache.org";
platforms = [ "x86_64-linux" ];
sourceProvenance = with sourceTypes; [ binaryBytecode ];
maintainers = with maintainers; [ izorkin ];
};
}