1{ stdenv, autoPatchelfHook, fetchurl, lib }:
2
3stdenv.mkDerivation rec {
4 pname = "confluent-cli";
5 version = "3.17.0";
6
7 # To get the latest version:
8 # curl -L https://cnfl.io/cli | sh -s -- -l | grep -v latest | sort -V | tail -n1
9 src = fetchurl (if stdenv.hostPlatform.isDarwin then {
10 url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_amd64.tar.gz";
11 sha256 = "03104736f65591a5be9536424460d9b8c8fc8ac8b5eb646e832371397aaf7cef";
12 } else {
13 url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_amd64.tar.gz";
14 sha256 = "3243beca4fefd49cf067f9a4df4f5072a8ac5dac91638e9f10ef0b0544d30445";
15 });
16
17 nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
18
19 dontStrip = stdenv.isDarwin;
20
21 installPhase = ''
22 mkdir -p $out/{bin,share/doc/confluent-cli}
23 cp confluent $out/bin/
24 cp LICENSE $out/share/doc/confluent-cli/
25 cp -r legal $out/share/doc/confluent-cli/
26 '';
27
28 meta = with lib; {
29 description = "Confluent CLI";
30 homepage = "https://docs.confluent.io/confluent-cli/current/overview.html";
31 sourceProvenance = with sourceTypes; [ binaryNativeCode ];
32 license = licenses.unfree;
33 maintainers = with maintainers; [ rguevara84 ];
34
35 # TODO: There's support for i686 systems but I do not have any such system
36 # to build it locally on, it's also unfree so I cannot rely on ofborg to
37 # build it. Get the list of supported system by looking at the list of
38 # files in the S3 bucket:
39 #
40 # https://s3-us-west-2.amazonaws.com/confluent.cloud?prefix=confluent-cli/archives/1.25.0/&delimiter=/%27
41 platforms = [ "x86_64-linux" "x86_64-darwin" ];
42 };
43}