diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix new file mode 100644 index 000000000000..d1fb6615850d --- /dev/null +++ b/pkgs/development/tools/okteto/default.nix @@ -0,0 +1,49 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: + +buildGoModule rec { + pname = "okteto"; + version = "2.3.1"; + + src = fetchFromGitHub { + owner = "okteto"; + repo = "okteto"; + rev = version; + sha256 = "sha256-2L6Ky7Mbky6VYx4kdBuYTtaJ9AzNufuYLrgERxLYpg8="; + }; + + postPatch = '' + # Disable some tests that need file system & network access. + find cmd -name "*_test.go" | xargs rm -f + rm -f pkg/analytics/track_test.go + ''; + + vendorSha256 = "sha256-XT/ZLydN1oeuRupD3gjvY6+hOB/Lq5CQwhfr9/iT7JI="; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/okteto/okteto/pkg/config.VersionString=${version}" + ]; + + tags = [ "osusergo" "netgo" "static_build" ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + postInstall = '' + installShellCompletion --cmd okteto \ + --bash <($out/bin/okteto completion bash) \ + --fish <($out/bin/okteto completion fish) \ + --zsh <($out/bin/okteto completion zsh) + ''; + + meta = with lib; { + description = "Develop your applications directly in your Kubernetes Cluster"; + homepage = "https://okteto.com/"; + license = licenses.asl20; + maintainers = with maintainers; [ aaronjheng ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2acdcfd9f408..762e5c4c5476 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28430,6 +28430,8 @@ with pkgs; odin2 = callPackage ../applications/audio/odin2 { }; + okteto = callPackage ../development/tools/okteto { }; + onlyoffice-bin = callPackage ../applications/office/onlyoffice-bin { }; open-policy-agent = callPackage ../development/tools/open-policy-agent { };