diff options
Diffstat (limited to 'pkgs/os-specific/linux/wireguard/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/wireguard/default.nix | 81 |
1 files changed, 22 insertions, 59 deletions
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix index c5daaabd5be8..ae31edcaaede 100644 --- a/pkgs/os-specific/linux/wireguard/default.nix +++ b/pkgs/os-specific/linux/wireguard/default.nix @@ -1,73 +1,36 @@ -{ stdenv, fetchurl, libmnl, kernel ? null }: +{ stdenv, fetchzip, kernel, wireguard-tools }: # 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 { - url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz"; - sha256 = "1nk6yj1gdmpar99zzw39n1v795m6fxsrilg37d02jm780rgbd5g8"; - }; + inherit (wireguard-tools) src; - 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 + ''; - preConfigure = '' - cd src - sed -i '/depmod/,+1d' Makefile - ''; + hardeningDisable = [ "pic" ]; - hardeningDisable = [ "pic" ]; + KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; + INSTALL_MOD_PATH = "\${out}"; - KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; - INSTALL_MOD_PATH = "\${out}"; + NIX_CFLAGS = ["-Wno-error=cpp"]; - NIX_CFLAGS = ["-Wno-error=cpp"]; - - nativeBuildInputs = kernel.moduleBuildDependencies; - - buildPhase = "make module"; - }; + nativeBuildInputs = kernel.moduleBuildDependencies; - tools = stdenv.mkDerivation { - inherit src meta name; + buildPhase = "make module"; - preConfigure = "cd src"; - - buildInputs = [ libmnl ]; - - enableParallelBuilding = true; - - makeFlags = [ - "WITH_BASHCOMPLETION=yes" - "WITH_WGQUICK=yes" - "WITH_SYSTEMDUNITS=yes" - "DESTDIR=$(out)" - "PREFIX=/" - "-C" "tools" - ]; - - buildPhase = "make tools"; - - 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 +} |