71 lines
2.3 KiB
Nix
71 lines
2.3 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
autoPatchelfHook,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "confluent-cli";
|
|
version = "4.34.0";
|
|
|
|
# To get the latest version:
|
|
# curl -L https://cnfl.io/cli | sh -s -- -l | grep -v latest | sort -V | tail -n1
|
|
src =
|
|
let
|
|
selectSystem =
|
|
attrs:
|
|
attrs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
|
system = selectSystem {
|
|
x86_64-linux = "linux_amd64";
|
|
aarch64-linux = "linux_arm64";
|
|
x86_64-darwin = "darwin_amd64";
|
|
aarch64-darwin = "darwin_arm64";
|
|
};
|
|
in
|
|
fetchurl {
|
|
url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${finalAttrs.version}/confluent_${finalAttrs.version}_${system}.tar.gz";
|
|
hash = selectSystem {
|
|
x86_64-linux = "sha256-PfQ3YGzlyihxcSLgKEOT/xsr6cih2p5mtiJ8WG/NH/s=";
|
|
aarch64-linux = "sha256-zZyHLBdPb7lNp0YFIXkqlfq0ArnhZa4ysTpcp09z+fI=";
|
|
x86_64-darwin = "sha256-hrMBArwFAhOYMEsVVD+hnn697bY1iS2Yer4IdOSvvfg=";
|
|
aarch64-darwin = "sha256-kVx2iGoOgkooMe6sfdE0d5e3WX7+M/Ov0sjFwWBhTX4=";
|
|
};
|
|
};
|
|
|
|
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
|
|
|
|
dontStrip = stdenv.hostPlatform.isDarwin;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/{bin,share/doc/confluent-cli}
|
|
cp confluent $out/bin/
|
|
cp LICENSE $out/share/doc/confluent-cli/
|
|
cp -r legal $out/share/doc/confluent-cli/
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru.updateScript = ./update.sh;
|
|
|
|
meta = {
|
|
description = "Confluent CLI";
|
|
homepage = "https://docs.confluent.io/confluent-cli/current/overview.html";
|
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
|
license = lib.licenses.unfreeRedistributable;
|
|
maintainers = with lib.maintainers; [
|
|
rguevara84
|
|
autophagy
|
|
];
|
|
# TODO: There's support for i686 systems but I do not have any such system
|
|
# to build it locally on, it's also unfree so I cannot rely on ofborg to
|
|
# build it. Get the list of supported system by looking at the list of
|
|
# files in the S3 bucket:
|
|
#
|
|
# https://s3-us-west-2.amazonaws.com/confluent.cloud?prefix=confluent-cli/archives/1.25.0/&delimiter=/%27
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
})
|