nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 buildGoModule,
5 buildPackages,
6 fetchFromGitHub,
7 installShellFiles,
8}:
9
10buildGoModule rec {
11 pname = "jcli";
12 version = "0.0.47";
13
14 src = fetchFromGitHub {
15 owner = "jenkins-zh";
16 repo = "jenkins-cli";
17 tag = "v${version}";
18 hash = "sha256-HsuYTgGe0cDRAG5FP77CGJG+xCDSWjBthPeAclmqd44=";
19 };
20
21 vendorHash = "sha256-Ld59i91k1tyR9BhlRohHiRPB8Zt3rQWMtRw+J+13TFw=";
22
23 ldflags = [
24 "-s"
25 "-w"
26 "-X github.com/linuxsuren/cobra-extension/version.version=${version}"
27 ];
28
29 doCheck = false;
30
31 nativeBuildInputs = [ installShellFiles ];
32
33 postInstall =
34 let
35 jcliBin =
36 if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
37 "$out"
38 else
39 lib.getBin buildPackages.jcli;
40 in
41 ''
42 mv $out/bin/{jenkins-cli,jcli}
43
44 installShellCompletion --cmd jcli \
45 --bash <(${jcliBin}/bin/jcli completion --type bash) \
46 --fish <(${jcliBin}/bin/jcli completion --type fish) \
47 --zsh <(${jcliBin}/bin/jcli completion --type zsh)
48 '';
49
50 meta = {
51 description = "Jenkins CLI allows you to manage your Jenkins in an easy way";
52 mainProgram = "jcli";
53 homepage = "https://github.com/jenkins-zh/jenkins-cli";
54 changelog = "https://github.com/jenkins-zh/jenkins-cli/releases/tag/v${version}";
55 license = lib.licenses.mit;
56 maintainers = with lib.maintainers; [ sikmir ];
57 };
58}