nixpkgs/pkgs/servers/redpanda/default.nix
2024-03-19 22:39:08 +00:00

53 lines
1.4 KiB
Nix

{ buildGoModule
, callPackage
, doCheck ? !stdenv.isDarwin # Can't start localhost test server in MacOS sandbox.
, fetchFromGitHub
, installShellFiles
, lib
, stdenv
}:
let
version = "23.3.9";
src = fetchFromGitHub {
owner = "redpanda-data";
repo = "redpanda";
rev = "v${version}";
sha256 = "sha256-CvHAjUwW1pkagebZQRXY51DazFCWRCD1seB46AwDVX8=";
};
server = callPackage ./server.nix { inherit src version; };
in
buildGoModule rec {
pname = "redpanda-rpk";
inherit doCheck src version;
modRoot = "./src/go/rpk";
runVend = false;
vendorHash = "sha256-qjX0DVAZqr7Ec1dFs4zBlDpu69IkhgLkvy4FA7br7bk=";
ldflags = [
''-X "github.com/redpanda-data/redpanda/src/go/rpk/pkg/cli/cmd/version.version=${version}"''
''-X "github.com/redpanda-data/redpanda/src/go/rpk/pkg/cli/cmd/version.rev=v${version}"''
''-X "github.com/redpanda-data/redpanda/src/go/rpk/pkg/cli/cmd/container/common.tag=v${version}"''
];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
for shell in bash fish zsh; do
$out/bin/rpk generate shell-completion $shell > rpk.$shell
installShellCompletion rpk.$shell
done
'';
passthru = {
inherit server;
};
meta = with lib; {
description = "Redpanda client";
homepage = "https://redpanda.com/";
license = licenses.bsl11;
maintainers = with maintainers; [ avakhrenev happysalada ];
platforms = platforms.all;
mainProgram = "rpk";
};
}