From c6f99a3a92f6ba21bd32f68efb186776df80a737 Mon Sep 17 00:00:00 2001 From: Eric Sagnes Date: Thu, 14 Jul 2016 04:15:11 +0900 Subject: [PATCH] wireguard: split module and tools (#16883) --- pkgs/os-specific/linux/wireguard/default.nix | 57 +++++++++++++------- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 42 insertions(+), 19 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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 128fe8b9777d..b6e795740f29 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11132,7 +11132,7 @@ in virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { }; - wireguard = callPackage ../os-specific/linux/wireguard {}; + wireguard = callPackage ../os-specific/linux/wireguard { }; x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { }; @@ -14911,6 +14911,8 @@ in wings = callPackage ../applications/graphics/wings { }; + wireguard = callPackage ../os-specific/linux/wireguard { }; + wmname = callPackage ../applications/misc/wmname { }; wmctrl = callPackage ../tools/X11/wmctrl { };