nixpkgs-immich/pkgs/servers/confluent-platform/default.nix
2024-09-17 10:23:40 -06:00

63 lines
1.4 KiB
Nix

{
bash
, fetchurl
, gnused
, jre
, lib
, makeBinaryWrapper
, stdenv
}:
stdenv.mkDerivation (finalAttrs: {
pname = "confluent-platform";
version = "7.7.0";
src = fetchurl {
url = "https://packages.confluent.io/archive/${lib.versions.majorMinor finalAttrs.version}/confluent-${finalAttrs.version}.tar.gz";
hash = "sha256-w5dazjSZTv/zqNcOcmyUUu8z5wftsJtBeU3bO1WhQ6k=";
};
nativeBuildInputs = [
makeBinaryWrapper
];
buildInputs = [
bash
jre
];
installPhase = ''
runHook preInstall
mkdir -p $out
cp -R bin etc share src $out
rm -rf $out/bin/windows
patchShebangs $out/bin
# allow us the specify logging directory using env
substituteInPlace $out/bin/kafka-run-class \
--replace 'LOG_DIR="$base_dir/logs"' 'LOG_DIR="$KAFKA_LOG_DIR"'
substituteInPlace $out/bin/ksql-run-class \
--replace 'LOG_DIR="$base_dir/logs"' 'LOG_DIR="$KAFKA_LOG_DIR"'
for p in $out/bin\/*; do
wrapProgram $p \
--set JAVA_HOME "${jre}" \
--set KAFKA_LOG_DIR "/tmp/apache-kafka-logs" \
--prefix PATH : "${jre}/bin:${bash}/bin:${gnused}/bin"
done
runHook postInstall
'';
meta = {
description = "Confluent event streaming platform based on Apache Kafka";
homepage = "https://www.confluent.io/";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ zoedsoupe autophagy ];
platforms = lib.platforms.unix;
};
})