about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSymphorien Gibol <symphorien+git@xlumurb.eu>2017-08-15 23:42:48 +0200
committerFranz Pletz <fpletz@fnordicwalking.de>2017-08-30 02:58:29 +0200
commitbd545892332ede39cd5c1c0ba26e7101b0d2c971 (patch)
treef80475cf7c5c859a764edc42db131b4bca74ecf3
parentc699694cbf4400480fe4267b7bee33b77747db07 (diff)
downloadnixlib-bd545892332ede39cd5c1c0ba26e7101b0d2c971.tar
nixlib-bd545892332ede39cd5c1c0ba26e7101b0d2c971.tar.gz
nixlib-bd545892332ede39cd5c1c0ba26e7101b0d2c971.tar.bz2
nixlib-bd545892332ede39cd5c1c0ba26e7101b0d2c971.tar.lz
nixlib-bd545892332ede39cd5c1c0ba26e7101b0d2c971.tar.xz
nixlib-bd545892332ede39cd5c1c0ba26e7101b0d2c971.tar.zst
nixlib-bd545892332ede39cd5c1c0ba26e7101b0d2c971.zip
networkmanager_iodine: init at 1.2.0
-rw-r--r--nixos/modules/config/no-x-libs.nix1
-rw-r--r--nixos/modules/services/networking/networkmanager.nix11
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.22/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/iodine.nix36
-rw-r--r--pkgs/top-level/all-packages.nix2
6 files changed, 55 insertions, 2 deletions
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix
index 4b7787302521..ae3e17ac27b6 100644
--- a/nixos/modules/config/no-x-libs.nix
+++ b/nixos/modules/config/no-x-libs.nix
@@ -34,6 +34,7 @@ with lib;
       networkmanager_openvpn = pkgs.networkmanager_openvpn.override { withGnome = false; };
       networkmanager_pptp = pkgs.networkmanager_pptp.override { withGnome = false; };
       networkmanager_vpnc = pkgs.networkmanager_vpnc.override { withGnome = false; };
+      networkmanager_iodine = pkgs.networkmanager_iodine.override { withGnome = false; };
       pinentry = pkgs.pinentry.override { gtk2 = null; qt4 = null; };
     };
   };
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 2b7086afe7e8..e03309c87299 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -130,7 +130,8 @@ in {
         default = { inherit networkmanager modemmanager wpa_supplicant
                             networkmanager_openvpn networkmanager_vpnc
                             networkmanager_openconnect networkmanager_fortisslvpn
-                            networkmanager_pptp networkmanager_l2tp; };
+                            networkmanager_pptp networkmanager_l2tp
+                            networkmanager_iodine; };
         internal = true;
       };
 
@@ -255,6 +256,9 @@ in {
       { source = "${networkmanager_strongswan}/etc/NetworkManager/VPN/nm-strongswan-service.name";
         target = "NetworkManager/VPN/nm-strongswan-service.name";
       }
+      { source = "${networkmanager_iodine}/etc/NetworkManager/VPN/nm-iodine-service.name";
+        target = "NetworkManager/VPN/nm-iodine-service.name";
+      }
     ] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
            { source = overrideNameserversScript;
              target = "NetworkManager/dispatcher.d/02overridedns";
@@ -278,6 +282,11 @@ in {
       name = "nm-openvpn";
       uid = config.ids.uids.nm-openvpn;
       extraGroups = [ "networkmanager" ];
+    }
+    {
+      name = "nm-iodine";
+      isSystemUser = true;
+      group = "networkmanager";
     }];
 
     systemd.packages = cfg.packages;
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 2434aa1654a6..0abdc27bbfc6 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -186,7 +186,8 @@ in {
     networking.networkmanager.basePackages =
       { inherit (pkgs) networkmanager modemmanager wpa_supplicant;
         inherit (gnome3) networkmanager_openvpn networkmanager_vpnc
-                         networkmanager_openconnect networkmanager_fortisslvpn networkmanager_pptp
+                         networkmanager_openconnect networkmanager_fortisslvpn
+                         networkmanager_pptp networkmanager_iodine
                          networkmanager_l2tp; };
 
     # Needed for themes and backgrounds
diff --git a/pkgs/desktops/gnome-3/3.22/default.nix b/pkgs/desktops/gnome-3/3.22/default.nix
index 1944cc98cfb2..9c337b415b31 100644
--- a/pkgs/desktops/gnome-3/3.22/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/default.nix
@@ -220,6 +220,10 @@ let
     inherit gnome3;
   };
 
+  networkmanager_iodine = pkgs.networkmanager_iodine.override {
+    inherit gnome3;
+  };
+
   networkmanagerapplet = pkgs.networkmanagerapplet.override {
     inherit gnome3 gsettings_desktop_schemas glib_networking;
   };
diff --git a/pkgs/tools/networking/network-manager/iodine.nix b/pkgs/tools/networking/network-manager/iodine.nix
new file mode 100644
index 000000000000..154b54952f2d
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/iodine.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, iodine, intltool, pkgconfig, networkmanager, libsecret
+, withGnome ? true, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  pname   = "NetworkManager-iodine";
+  major   = "1.2";
+  version = "${major}.0";
+
+  src = fetchurl {
+    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
+    sha256 = "0njdigakidji6mfmbsp8lfi8wl88z1dk8cljbva2w0xazyddbwyh";
+  };
+
+  buildInputs = [ iodine networkmanager libsecret ]
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring
+                                        gnome3.networkmanagerapplet ];
+
+  nativeBuildInputs = [ intltool pkgconfig ];
+
+  configureFlags = [
+    "${if withGnome then "--with-gnome" else "--without-gnome"}"
+    "--disable-static"
+    "--localstatedir=/" # needed for the management socket under /run/NetworkManager
+  ];
+
+  preConfigure = ''
+     substituteInPlace "src/nm-iodine-service.c" \
+       --replace "/usr/bin/iodine" "${iodine}/bin/iodine"
+  '';
+
+  meta = {
+    description = "NetworkManager's iodine plugin";
+    inherit (networkmanager.meta) maintainers platforms;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c5108c555803..9127745dad69 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3393,6 +3393,8 @@ with pkgs;
 
   networkmanager = callPackage ../tools/networking/network-manager { };
 
+  networkmanager_iodine = callPackage ../tools/networking/network-manager/iodine.nix { };
+
   networkmanager_openvpn = callPackage ../tools/networking/network-manager/openvpn.nix { };
 
   networkmanager_pptp = callPackage ../tools/networking/network-manager/pptp.nix { };