From 848a8c1b37c6376f40d8d4674500e57bacadad95 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sat, 2 May 2020 22:35:37 +1000 Subject: [PATCH 1/2] cri-o: install completion/manpages --- .../virtualization/cri-o/default.nix | 46 +++++++++++++------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix index 2fd3a0b39dd6..4c3d9ffc937c 100644 --- a/pkgs/applications/virtualization/cri-o/default.nix +++ b/pkgs/applications/virtualization/cri-o/default.nix @@ -3,25 +3,24 @@ , btrfs-progs , buildGoPackage , fetchFromGitHub -, git , glibc , gpgme +, installShellFiles , libapparmor , libassuan , libgpgerror , libseccomp , libselinux , lvm2 -, pkgconfig -, which +, pkg-config }: buildGoPackage rec { - project = "cri-o"; + pname = "cri-o"; version = "1.18.0"; - name = "${project}-${version}${flavor}"; + name = "${pname}-${version}${flavor}"; - goPackagePath = "github.com/${project}/${project}"; + goPackagePath = "github.com/cri-o/cri-o"; src = fetchFromGitHub { owner = "cri-o"; @@ -30,27 +29,48 @@ buildGoPackage rec { sha256 = "142flmv54pj48rjqkd26fbxrcbx2cv6pdmrc33jgyvn6r99zliah"; }; - nativeBuildInputs = [ git pkgconfig which ]; - buildInputs = [ btrfs-progs gpgme libapparmor libassuan libgpgerror - libseccomp libselinux lvm2 ] - ++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ]; + outputs = [ "out" "man" ]; + + nativeBuildInputs = [ installShellFiles pkg-config ]; + + buildInputs = [ + btrfs-progs + gpgme + libapparmor + libassuan + libgpgerror + libseccomp + libselinux + lvm2 + ] ++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ]; BUILDTAGS = "apparmor seccomp selinux containers_image_ostree_stub"; buildPhase = '' pushd go/src/${goPackagePath} - make binaries BUILDTAGS="$BUILDTAGS" + sed -i '/version.buildDate/d' Makefile + + make binaries docs BUILDTAGS="$BUILDTAGS" ''; + installPhase = '' install -Dm755 bin/crio $out/bin/crio${flavor} install -Dm755 bin/crio-status $out/bin/crio-status${flavor} install -Dm755 bin/pinns $out/bin/pinns${flavor} + + for shell in bash fish zsh; do + installShellCompletion --$shell completions/$shell/* + done + + installManPage docs/*.[1-9] ''; meta = with stdenv.lib; { homepage = "https://cri-o.io"; - description = ''Open Container Initiative-based implementation of the - Kubernetes Container Runtime Interface''; + description = '' + Open Container Initiative-based implementation of the + Kubernetes Container Runtime Interface + ''; license = licenses.asl20; maintainers = with maintainers; [ ] ++ teams.podman.members; platforms = platforms.linux; From f8d9d72f0eb9b327e7bffeb3bcab90e5f58917a3 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Tue, 28 Apr 2020 22:44:22 +1000 Subject: [PATCH 2/2] cri-tools: install completion --- .../virtualization/cri-tools/default.nix | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/virtualization/cri-tools/default.nix b/pkgs/tools/virtualization/cri-tools/default.nix index 65a7f7d19809..7254b3d63d97 100644 --- a/pkgs/tools/virtualization/cri-tools/default.nix +++ b/pkgs/tools/virtualization/cri-tools/default.nix @@ -1,8 +1,13 @@ -{ buildGoPackage, fetchFromGitHub, lib }: +{ lib +, buildGoPackage +, fetchFromGitHub +, installShellFiles +}: buildGoPackage rec { pname = "cri-tools"; version = "1.18.0"; + src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = pname; @@ -12,15 +17,26 @@ buildGoPackage rec { goPackagePath = "github.com/kubernetes-sigs/cri-tools"; + nativeBuildInputs = [ installShellFiles ]; + buildPhase = '' pushd go/src/${goPackagePath} - make all install BINDIR=$out/bin + make binaries VERSION=${version} + ''; + + installPhase = '' + make install BINDIR=$out/bin + + for shell in bash fish zsh; do + $out/bin/crictl completion $shell > crictl.$shell + installShellCompletion crictl.$shell + done ''; meta = with lib; { description = "CLI and validation tools for Kubelet Container Runtime Interface (CRI)"; homepage = "https://github.com/kubernetes-sigs/cri-tools"; - license = lib.licenses.asl20; + license = licenses.asl20; maintainers = with maintainers; [ ] ++ teams.podman.members; }; }