summary refs log tree commit diff
path: root/pkgs/os-specific/linux/wireguard/default.nix
diff options
context:
space:
mode:
authorKirill Elagin <kirelagin@gmail.com>2018-05-19 00:52:41 +0300
committerKirill Elagin <kirelagin@gmail.com>2018-05-19 01:17:26 +0300
commit865abfa6091515da3c776283500e45d489ed488f (patch)
tree8ab72e7db92c9a5e37b2c4f9069afda0c7bdaa92 /pkgs/os-specific/linux/wireguard/default.nix
parentbd078c1a313a0eadb8232f3732e9700cc52253b1 (diff)
downloadnixpkgs-865abfa6091515da3c776283500e45d489ed488f.tar
nixpkgs-865abfa6091515da3c776283500e45d489ed488f.tar.gz
nixpkgs-865abfa6091515da3c776283500e45d489ed488f.tar.bz2
nixpkgs-865abfa6091515da3c776283500e45d489ed488f.tar.lz
nixpkgs-865abfa6091515da3c776283500e45d489ed488f.tar.xz
nixpkgs-865abfa6091515da3c776283500e45d489ed488f.tar.zst
nixpkgs-865abfa6091515da3c776283500e45d489ed488f.zip
wireguard: Enable tools on other platforms
Wireguard is now split into two pretty much independent packages:
`wireguard` (Linux-specific kernel module) and `wireguard-tools`,
which is cross-platform.
Diffstat (limited to 'pkgs/os-specific/linux/wireguard/default.nix')
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix76
1 files changed, 21 insertions, 55 deletions
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index c5daaabd5be..c82831782e9 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -1,11 +1,10 @@
-{ stdenv, fetchurl, libmnl, kernel ? null }:
+{ stdenv, fetchurl, kernel }:
 
 # module requires Linux >= 3.10 https://www.wireguard.io/install/#kernel-requirements
-assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.10";
+assert stdenv.lib.versionAtLeast kernel.version "3.10";
 
-let
+stdenv.mkDerivation rec {
   name = "wireguard-${version}";
-
   version = "0.0.20180514";
 
   src = fetchurl {
@@ -13,61 +12,28 @@ let
     sha256 = "1nk6yj1gdmpar99zzw39n1v795m6fxsrilg37d02jm780rgbd5g8";
   };
 
-  meta = with stdenv.lib; {
-    homepage     = https://www.wireguard.com/;
-    downloadPage = https://git.zx2c4.com/WireGuard/refs/;
-    description  = "A prerelease of an experimental VPN tunnel which is not to be depended upon for security";
-    maintainers  = with maintainers; [ ericsagnes mic92 zx2c4 ];
-    license      = licenses.gpl2;
-    platforms    = platforms.linux;
-  };
-
-  module = stdenv.mkDerivation {
-    inherit src meta name;
-
-    preConfigure = ''
-      cd src
-      sed -i '/depmod/,+1d' Makefile
-    '';
-
-    hardeningDisable = [ "pic" ];
-
-    KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
-    INSTALL_MOD_PATH = "\${out}";
-
-    NIX_CFLAGS = ["-Wno-error=cpp"];
-
-    nativeBuildInputs = kernel.moduleBuildDependencies;
-
-    buildPhase = "make module";
-  };
-
-  tools = stdenv.mkDerivation {
-    inherit src meta name;
+  preConfigure = ''
+    cd src
+    sed -i '/depmod/,+1d' Makefile
+  '';
 
-    preConfigure = "cd src";
+  hardeningDisable = [ "pic" ];
 
-    buildInputs = [ libmnl ];
+  KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+  INSTALL_MOD_PATH = "\${out}";
 
-    enableParallelBuilding = true;
+  NIX_CFLAGS = ["-Wno-error=cpp"];
 
-    makeFlags = [
-      "WITH_BASHCOMPLETION=yes"
-      "WITH_WGQUICK=yes"
-      "WITH_SYSTEMDUNITS=yes"
-      "DESTDIR=$(out)"
-      "PREFIX=/"
-      "-C" "tools"
-    ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
 
-    buildPhase = "make tools";
+  buildPhase = "make module";
 
-    postInstall = ''
-      substituteInPlace $out/lib/systemd/system/wg-quick@.service \
-        --replace /usr/bin $out/bin
-    '';
+  meta = with stdenv.lib; {
+    homepage     = https://www.wireguard.com/;
+    downloadPage = https://git.zx2c4.com/WireGuard/refs/;
+    description  = " Tools for the WireGuard secure network tunnel";
+    maintainers  = with maintainers; [ ericsagnes mic92 zx2c4 ];
+    license      = licenses.gpl2;
+    platforms    = platforms.linux;
   };
-
-in if kernel == null
-   then tools
-   else module
+}