48 lines
1.2 KiB
Nix
48 lines
1.2 KiB
Nix
{ stdenv, fetchzip, jre,
|
|
version ? "1.3" }:
|
|
|
|
let
|
|
versionMap = {
|
|
"1.3" = {
|
|
flinkVersion = "1.3.2";
|
|
scalaVersion = "2.11";
|
|
sha256 = "0dr8c1z4ncza6qp2zcklbmn0gj0l1rics3c8fiminkp8bl454ijg";
|
|
};
|
|
};
|
|
in
|
|
|
|
with versionMap.${version};
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "flink-${flinkVersion}";
|
|
|
|
src = fetchzip {
|
|
url = "mirror://apache/flink/${name}/${name}-bin-hadoop27-scala_${scalaVersion}.tgz";
|
|
inherit sha256;
|
|
};
|
|
|
|
buildInputs = [ jre ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
cp -R bin conf examples lib opt resources $out
|
|
rm $out/bin/*.bat
|
|
chmod +x $out/bin\/*
|
|
|
|
cat <<EOF >> $out/conf/flink-conf.yaml
|
|
env.java.home: ${jre}"
|
|
env.log.dir: /tmp/flink-logs
|
|
EOF
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "An open-source stream processing framework for distributed, high-performing, always-available, and accurate data streaming applications.";
|
|
homepage = "https://flink.apache.org";
|
|
downloadPage = "https://flink.apache.org/downloads.html";
|
|
license = stdenv.lib.licenses.asl20;
|
|
platforms = stdenv.lib.platforms.all;
|
|
maintainers = with maintainers; [ mbode ];
|
|
repositories.git = git://git.apache.org/flink.git;
|
|
};
|
|
}
|