75 lines
1.6 KiB
Nix
75 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
buildGoModule,
|
|
fetchFromGitHub,
|
|
gpgme,
|
|
installShellFiles,
|
|
pkg-config,
|
|
versionCheckHook,
|
|
nix-update-script,
|
|
}:
|
|
|
|
buildGoModule (finalAttrs: {
|
|
pname = "openshift";
|
|
version = "4.22.0-202605222050";
|
|
gitCommit = "8f1c8b5";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "openshift";
|
|
repo = "oc";
|
|
tag = "openshift-clients-${finalAttrs.version}";
|
|
hash = "sha256-WUFeRRKymdOJfbFhut9nGAvMCI1OsanYGKCioEZSOng=";
|
|
};
|
|
|
|
vendorHash = null;
|
|
|
|
buildInputs = [ gpgme ];
|
|
|
|
nativeBuildInputs = [
|
|
installShellFiles
|
|
pkg-config
|
|
];
|
|
|
|
ldflags = [
|
|
"-s"
|
|
"-w"
|
|
"-X github.com/openshift/oc/pkg/version.commitFromGit=${finalAttrs.gitCommit}"
|
|
"-X github.com/openshift/oc/pkg/version.versionFromGit=v${finalAttrs.version}"
|
|
];
|
|
|
|
doCheck = false;
|
|
|
|
postInstall = ''
|
|
# Install man pages.
|
|
mkdir -p man
|
|
$out/bin/genman man oc
|
|
installManPage man/*.1
|
|
|
|
# Remove unwanted tooling.
|
|
rm $out/bin/clicheck $out/bin/gendocs $out/bin/genman
|
|
|
|
# Install shell completions.
|
|
installShellCompletion --cmd oc \
|
|
--bash <($out/bin/oc completion bash) \
|
|
--fish <($out/bin/oc completion fish) \
|
|
--zsh <($out/bin/oc completion zsh)
|
|
'';
|
|
|
|
doInstallCheck = true;
|
|
nativeInstallCheckInputs = [ versionCheckHook ];
|
|
versionCheckProgramArg = "version";
|
|
|
|
passthru.updateScript = nix-update-script { };
|
|
|
|
meta = {
|
|
description = "Build, deploy, and manage your applications with Docker and Kubernetes";
|
|
homepage = "http://www.openshift.org";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [
|
|
moretea
|
|
stehessel
|
|
];
|
|
mainProgram = "oc";
|
|
};
|
|
})
|