diff options
Diffstat (limited to 'pkgs/tools/networking/network-manager/l2tp.nix')
-rw-r--r-- | pkgs/tools/networking/network-manager/l2tp.nix | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/pkgs/tools/networking/network-manager/l2tp.nix b/pkgs/tools/networking/network-manager/l2tp.nix index f415b4f3bed..cd08b92d3c1 100644 --- a/pkgs/tools/networking/network-manager/l2tp.nix +++ b/pkgs/tools/networking/network-manager/l2tp.nix @@ -1,43 +1,48 @@ -{ stdenv, fetchFromGitHub, substituteAll, automake, autoconf, libtool, intltool, pkgconfig -, networkmanager, ppp, xl2tpd, strongswan +{ stdenv, fetchFromGitHub, automake, autoconf, libtool, intltool, pkgconfig +, networkmanager, networkmanagerapplet, ppp, xl2tpd, strongswan, libsecret , withGnome ? true, gnome3 }: stdenv.mkDerivation rec { - name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; - pname = "NetworkManager-l2tp"; - version = "0.9.8.7"; + name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; + pname = "NetworkManager-l2tp"; + version = networkmanager.version; src = fetchFromGitHub { - owner = "seriyps"; - repo = "NetworkManager-l2tp"; - rev = version; - sha256 = "07gl562p3f6l2wn64f3vvz1ygp3hsfhiwh4sn04c3fahfdys69zx"; + owner = "nm-l2tp"; + repo = "network-manager-l2tp"; + rev = version; + sha256 = "1zqdhm7pzhaq6q8pddj9ki25qs9m6qwqgzc5x07a0qffla2rq5j1"; }; - buildInputs = [ networkmanager ppp ] + buildInputs = [ networkmanager ppp networkmanagerapplet libsecret ] ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ]; nativeBuildInputs = [ automake autoconf libtool intltool pkgconfig ]; - configureScript = "./autogen.sh"; + postPatch = '' + sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-l2tp-service.c - configureFlags = - if withGnome then "--with-gnome" else "--without-gnome"; + substituteInPlace ./src/nm-l2tp-service.c \ + --replace /sbin/ipsec ${strongswan}/bin/ipsec \ + --replace /sbin/xl2tpd ${xl2tpd}/bin/xl2tpd + + # Remove when https://github.com/nm-l2tp/network-manager-l2tp/issues/9 gets fixed + # per http://stackoverflow.com/questions/9225567/how-to-print-a-int64-t-type-in-c + sed -i -e 's,^\(#include <string.h>\)$,\1\n#include <inttypes.h>,' ./properties/import-export.c + substituteInPlace ./properties/import-export.c \ + --replace '%ld' '%" PRId64 "' + ''; - postConfigure = "sed 's/-Werror//g' -i Makefile */Makefile"; + preConfigure = "./autogen.sh"; - patches = - [ ( substituteAll { - src = ./l2tp-purity.patch; - inherit xl2tpd strongswan; - }) - ]; + configureFlags = + if withGnome then "--with-gnome" else "--without-gnome"; meta = with stdenv.lib; { description = "L2TP plugin for NetworkManager"; inherit (networkmanager.meta) platforms; homepage = https://github.com/seriyps/NetworkManager-l2tp; license = licenses.gpl2; - maintainers = with maintainers; [ abbradar ]; + maintainers = with maintainers; [ abbradar obadz ]; }; } |