summary refs log tree commit diff
path: root/pkgs/tools/networking/network-manager/strongswan.nix
blob: 4fc9c904f5f9b5bc4c334400c6dcedb0f9fb698c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM, procps
, gnome3, libgnome-keyring, libsecret }:

stdenv.mkDerivation rec {
  name    = "${pname}-${version}";
  pname   = "NetworkManager-strongswan";
  version = "1.4.1";

  src = fetchurl {
    url    = "https://download.strongswan.org/NetworkManager/${name}.tar.bz2";
    sha256 = "0r5j8cr4x01d2cdy970990292n7p9v617cw103kdczw646xwcxs8";
  };

  postPatch = ''
    sed -i "s,nm_plugindir=.*,nm_plugindir=$out/lib/NetworkManager," "configure"
    sed -i "s,nm_libexecdir=.*,nm_libexecdir=$out/libexec," "configure"
  '';

  buildInputs = [ networkmanager strongswanNM libsecret ]
      ++ (with gnome3; [ gtk libgnome-keyring networkmanagerapplet ]);

  nativeBuildInputs = [ intltool pkgconfig ];

  # Fixes deprecation errors with networkmanager 1.10.2
  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";

  preConfigure = ''
     substituteInPlace "configure" \
       --replace "/sbin/sysctl" "${procps}/bin/sysctl"
  '';

  configureFlags = [ "--with-charon=${strongswanNM}/libexec/ipsec/charon-nm" ];

  meta = {
    description = "NetworkManager's strongswan plugin";
    inherit (networkmanager.meta) platforms;
  };
}