From 7f175f2ad770f66d9ca91781fb121b917a7b4a0d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 9 Aug 2018 16:25:30 +0200 Subject: networkmanager-vpnc: clean up --- .../networking/network-manager/vpnc/default.nix | 37 ++++++++++------------ .../network-manager/vpnc/fix-paths.patch | 31 ++++++++++++++++++ 2 files changed, 48 insertions(+), 20 deletions(-) create mode 100644 pkgs/tools/networking/network-manager/vpnc/fix-paths.patch (limited to 'pkgs/tools') diff --git a/pkgs/tools/networking/network-manager/vpnc/default.nix b/pkgs/tools/networking/network-manager/vpnc/default.nix index 577e04f6648d..d2b3a345d495 100644 --- a/pkgs/tools/networking/network-manager/vpnc/default.nix +++ b/pkgs/tools/networking/network-manager/vpnc/default.nix @@ -1,35 +1,32 @@ -{ stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager, libsecret -, withGnome ? true, gnome3, procps, kmod, file }: +{ stdenv, fetchurl, substituteAll, vpnc, intltool, pkgconfig, networkmanager, libsecret +, withGnome ? true, gnome3, kmod, file }: let - pname = "NetworkManager-vpnc"; + pname = "NetworkManager-vpnc"; version = "1.2.6"; in stdenv.mkDerivation rec { - name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; + name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"; }; - buildInputs = [ vpnc networkmanager libsecret ] - ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring - gnome3.networkmanagerapplet ]; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit vpnc kmod; + }) + ]; + + buildInputs = [ vpnc networkmanager ] + ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ]; nativeBuildInputs = [ intltool pkgconfig file ]; configureFlags = [ - "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}" - "--disable-static" + "--with-gnome=${if withGnome then "yes" else "no"}" ]; - preConfigure = '' - substituteInPlace "configure" \ - --replace "/sbin/sysctl" "${procps}/bin/sysctl" - substituteInPlace "src/nm-vpnc-service.c" \ - --replace "/sbin/vpnc" "${vpnc}/bin/vpnc" \ - --replace "/sbin/modprobe" "${kmod}/bin/modprobe" - ''; - passthru = { updateScript = gnome3.updateScript { packageName = pname; @@ -37,9 +34,9 @@ in stdenv.mkDerivation rec { }; }; - meta = { + meta = with stdenv.lib; { description = "NetworkManager's VPNC plugin"; inherit (networkmanager.meta) maintainers platforms; + license = licenses.gpl2Plus; }; } - diff --git a/pkgs/tools/networking/network-manager/vpnc/fix-paths.patch b/pkgs/tools/networking/network-manager/vpnc/fix-paths.patch new file mode 100644 index 000000000000..98238ac01f76 --- /dev/null +++ b/pkgs/tools/networking/network-manager/vpnc/fix-paths.patch @@ -0,0 +1,31 @@ +--- a/properties/nm-vpnc-editor-plugin.c ++++ b/properties/nm-vpnc-editor-plugin.c +@@ -161,7 +161,7 @@ + GError *error = NULL; + + const char *decrypt_possible_paths[] = { +- "/usr/lib/vpnc/cisco-decrypt", ++ "@vpnc@/bin/cisco-decrypt", + "/usr/bin/cisco-decrypt", + NULL + }; +--- a/src/nm-vpnc-service.c ++++ b/src/nm-vpnc-service.c +@@ -610,7 +610,7 @@ + find_vpnc (void) + { + static const char *vpnc_paths[] = { +- "/usr/sbin/vpnc", ++ "@vpnc@/bin/vpnc", + "/sbin/vpnc", + "/usr/local/sbin/vpnc", + NULL +@@ -1308,7 +1308,7 @@ + _LOGD (" vpnc interactive mode is %s", interactive_available ? "enabled" : "disabled"); + _LOGD (" uses%s --bus-name \"%s\"", bus_name_free ? "" : " default", bus_name); + +- if (system ("/sbin/modprobe tun") == -1) ++ if (system ("@kmod@/bin/modprobe tun") == -1) + exit (EXIT_FAILURE); + + plugin = nm_vpnc_plugin_new (bus_name); -- cgit 1.4.1