From f0338024b9278b44ff97bc86778d4fd618401df8 Mon Sep 17 00:00:00 2001 From: Bas van Dijk Date: Sat, 14 Jan 2017 20:41:51 +0100 Subject: strongswan: enable charon-systemd (#21872) See: https://wiki.strongswan.org/projects/strongswan/wiki/Charon-systemd --- pkgs/tools/networking/strongswan/default.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'pkgs/tools') diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix index 7bcbb4fddb6b..7da47e339d08 100644 --- a/pkgs/tools/networking/strongswan/default.nix +++ b/pkgs/tools/networking/strongswan/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, gmp, pkgconfig, python, autoreconfHook , curl, trousers, sqlite, iptables, libxml2, openresolv -, ldns, unbound, pcsclite, openssl +, ldns, unbound, pcsclite, openssl, systemd , enableTNC ? false }: stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { dontPatchELF = true; buildInputs = - [ gmp pkgconfig python autoreconfHook iptables ldns unbound openssl pcsclite ] + [ gmp pkgconfig python autoreconfHook iptables ldns unbound openssl pcsclite systemd.dev ] ++ stdenv.lib.optionals enableTNC [ curl trousers sqlite libxml2 ]; patches = [ @@ -26,10 +26,21 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace src/libcharon/plugins/resolve/resolve_handler.c --replace "/sbin/resolvconf" "${openresolv}/sbin/resolvconf" + + # swanctl can be configured by files in SWANCTLDIR which defaults to + # $out/etc/swanctl. Since that directory is in the nix store users can't + # modify it. Ideally swanctl accepts a command line option for specifying + # the configuration files. In the absence of that we patch swanctl to look + # for configuration files in /etc/swanctl. + substituteInPlace src/swanctl/swanctl.h --replace "SWANCTLDIR" "\"/etc/swanctl\"" ''; + preConfigure = '' + configureFlagsArray+=("--with-systemdsystemunitdir=$out/etc/systemd/system") + ''; + configureFlags = - [ "--enable-swanctl" "--enable-cmd" + [ "--enable-swanctl" "--enable-cmd" "--enable-systemd" "--enable-farp" "--enable-dhcp" "--enable-eap-sim" "--enable-eap-sim-file" "--enable-eap-simaka-pseudonym" "--enable-eap-simaka-reauth" "--enable-eap-identity" "--enable-eap-md5" -- cgit 1.4.1