summary refs log tree commit diff
path: root/pkgs/applications/networking/cluster/cni/plugins.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/cluster/cni/plugins.nix')
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix44
1 files changed, 23 insertions, 21 deletions
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index b5276818f79..8956828fa76 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -1,6 +1,5 @@
-{ stdenv, lib, fetchFromGitHub, go, removeReferencesTo }:
-
-stdenv.mkDerivation rec {
+{ stdenv, lib, fetchFromGitHub, go, removeReferencesTo, buildGoPackage }:
+buildGoPackage rec {
   pname = "cni-plugins";
   version = "0.8.2";
 
@@ -11,28 +10,31 @@ stdenv.mkDerivation rec {
     sha256 = "0gyxa6mhiyxqw4wpn6r7wgr2kyvflzbdcqsk5ch0b6zih98144ia";
   };
 
-  buildInputs = [ removeReferencesTo go ];
-
-  buildPhase = ''
-    patchShebangs build_linux.sh
-    export "GOCACHE=$TMPDIR/go-cache"
-    ./build_linux.sh
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv bin/* $out/bin
-  '';
-
-  preFixup = ''
-    find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
-  '';
-
+  goDeps = ./plugins-deps.nix;
+  goPackagePath = "github.com/containernetworking/plugins";
+  subPackages = [
+    "plugins/meta/bandwidth"
+    "plugins/meta/firewall"
+    "plugins/meta/flannel"
+    "plugins/meta/portmap"
+    "plugins/meta/sbr"
+    "plugins/meta/tuning"
+    "plugins/main/bridge"
+    "plugins/main/host-device"
+    "plugins/main/ipvlan"
+    "plugins/main/loopback"
+    "plugins/main/macvlan"
+    "plugins/main/ptp"
+    "plugins/main/vlan"
+    "plugins/ipam/dhcp"
+    "plugins/ipam/host-local"
+    "plugins/ipam/static"
+  ];
   meta = with lib; {
     description = "Some standard networking plugins, maintained by the CNI team";
     homepage = https://github.com/containernetworking/plugins;
     license = licenses.asl20;
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
     maintainers = with maintainers; [ cstrahan ];
   };
 }