64 lines
1.5 KiB
Nix
64 lines
1.5 KiB
Nix
![]() |
{ flavor ? ""
|
||
|
, stdenv
|
||
|
, btrfs-progs
|
||
|
, buildGoPackage
|
||
|
, fetchFromGitHub
|
||
|
, git
|
||
|
, glibc
|
||
|
, gpgme
|
||
|
, libapparmor
|
||
|
, libassuan
|
||
|
, libgpgerror
|
||
|
, libseccomp
|
||
|
, libselinux
|
||
|
, lvm2
|
||
|
, pkgconfig
|
||
|
, which
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
buildTags = "apparmor seccomp selinux containers_image_ostree_stub";
|
||
|
in buildGoPackage rec {
|
||
|
project = "cri-o";
|
||
|
version = "1.17.3";
|
||
|
name = "${project}-${version}${flavor}";
|
||
|
|
||
|
goPackagePath = "github.com/${project}/${project}";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "cri-o";
|
||
|
repo = "cri-o";
|
||
|
rev = "v${version}";
|
||
|
sha256 = "1cy2lqasfn5n20vlm3ckb6myci8ya6qv08dw8fq7z4ycnm39r1a6";
|
||
|
};
|
||
|
|
||
|
outputs = [ "bin" "out" ];
|
||
|
nativeBuildInputs = [ git pkgconfig which ];
|
||
|
buildInputs = [ btrfs-progs gpgme libapparmor libassuan libgpgerror
|
||
|
libseccomp libselinux lvm2 ]
|
||
|
++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ];
|
||
|
|
||
|
buildPhase = ''
|
||
|
pushd go/src/${goPackagePath}
|
||
|
|
||
|
make BUILDTAGS='${buildTags}' \
|
||
|
bin/crio \
|
||
|
bin/crio-status \
|
||
|
bin/pinns
|
||
|
'';
|
||
|
installPhase = ''
|
||
|
install -Dm755 bin/crio $bin/bin/crio${flavor}
|
||
|
install -Dm755 bin/crio-status $bin/bin/crio-status${flavor}
|
||
|
install -Dm755 bin/pinns $bin/bin/pinns${flavor}
|
||
|
'';
|
||
|
|
||
|
meta = with stdenv.lib; {
|
||
|
homepage = "https://cri-o.io";
|
||
|
description = ''Open Container Initiative-based implementation of the
|
||
|
Kubernetes Container Runtime Interface'';
|
||
|
license = licenses.asl20;
|
||
|
maintainers = with maintainers; [ ] ++ teams.podman.members;
|
||
|
platforms = platforms.linux;
|
||
|
};
|
||
|
}
|