about summary refs log tree commit diff
path: root/pkgs/os-specific/linux
diff options
context:
space:
mode:
authorEric Sagnes <eric.sagnes@gmail.com>2016-07-14 04:15:11 +0900
committerFranz Pletz <fpletz@fnordicwalking.de>2016-07-13 21:15:11 +0200
commitc6f99a3a92f6ba21bd32f68efb186776df80a737 (patch)
treee5a048f22c533bbf8f86caf76dbf66fcf438bf5a /pkgs/os-specific/linux
parent5630ac1d928ec9d1d773f4dccc5b24031fc8dae3 (diff)
downloadnixlib-c6f99a3a92f6ba21bd32f68efb186776df80a737.tar
nixlib-c6f99a3a92f6ba21bd32f68efb186776df80a737.tar.gz
nixlib-c6f99a3a92f6ba21bd32f68efb186776df80a737.tar.bz2
nixlib-c6f99a3a92f6ba21bd32f68efb186776df80a737.tar.lz
nixlib-c6f99a3a92f6ba21bd32f68efb186776df80a737.tar.xz
nixlib-c6f99a3a92f6ba21bd32f68efb186776df80a737.tar.zst
nixlib-c6f99a3a92f6ba21bd32f68efb186776df80a737.zip
wireguard: split module and tools (#16883)
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix57
1 files changed, 39 insertions, 18 deletions
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index 5328743d8b8b..3e5f6ae74800 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchgit, libmnl, kernel }:
+{ stdenv, fetchgit, libmnl, kernel ? null }:
 
-stdenv.mkDerivation rec {
+let
   name = "wireguard-${version}";
+
   version = "20160708";
 
   src = fetchgit {
@@ -10,25 +11,45 @@ stdenv.mkDerivation rec {
     sha256 = "1ciyjpp8c3fv95y1cypk9qyqynp8cqyh2676afq2hd33110d37ni";
   };
 
-  preConfigure = ''
-    cd src
-    sed -i /depmod/d Makefile
-  '';
-  
-  buildInputs = [ libmnl ];
-
-  KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
-
-  makeFlags = [ 
-    "DESTDIR=$(out)" 
-    "PREFIX=/"
-    "INSTALL_MOD_PATH=$(out)" 
-  ];
-
   meta = with stdenv.lib; {
     homepage    = https://www.wireguard.io/;
     description = "Fast, modern, secure VPN tunnel";
     license     = licenses.gpl2;
     platforms   = platforms.linux;
   };
-}
+
+  module = stdenv.mkDerivation {
+    inherit src meta name;
+
+    preConfigure = ''
+      cd src
+      sed -i '/depmod/,+1d' Makefile
+    '';
+
+    KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+    INSTALL_MOD_PATH = "\${out}";
+
+    buildPhase = "make module";
+
+  };
+
+  tools = stdenv.mkDerivation {
+    inherit src meta name;
+
+    preConfigure = "cd src";
+
+    buildInputs = [ libmnl ];
+
+    makeFlags = [
+      "DESTDIR=$(out)"
+      "PREFIX=/"
+      "-C" "tools"
+    ];
+
+    buildPhase = "make tools";
+
+  };
+
+in if kernel == null
+   then tools
+   else module