summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/misc/alarm-clock-applet/default.nix28
-rw-r--r--pkgs/tools/misc/appdata-tools/default.nix26
-rw-r--r--pkgs/tools/misc/opentimestamps-client/default.nix12
-rw-r--r--pkgs/tools/misc/uudeview/default.nix3
-rw-r--r--pkgs/tools/misc/uudeview/matherr.patch19
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix15
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn.nix44
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn/default.nix45
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn/fix-paths.patch11
-rw-r--r--pkgs/tools/networking/network-manager/iodine.nix46
-rw-r--r--pkgs/tools/networking/network-manager/iodine/default.nix47
-rw-r--r--pkgs/tools/networking/network-manager/iodine/fix-paths.patch11
-rw-r--r--pkgs/tools/networking/network-manager/l2tp.nix52
-rw-r--r--pkgs/tools/networking/network-manager/l2tp/default.nix48
-rw-r--r--pkgs/tools/networking/network-manager/l2tp/fix-paths.patch20
-rw-r--r--pkgs/tools/networking/network-manager/libnm-gtk-mbpi.patch33
-rw-r--r--pkgs/tools/networking/network-manager/openconnect/default.nix (renamed from pkgs/tools/networking/network-manager/openconnect.nix)29
-rw-r--r--pkgs/tools/networking/network-manager/openconnect/fix-paths.patch20
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/default.nix17
-rw-r--r--pkgs/tools/networking/network-manager/strongswan.nix35
-rw-r--r--pkgs/tools/networking/network-manager/vpnc.nix45
-rw-r--r--pkgs/tools/networking/network-manager/vpnc/default.nix42
-rw-r--r--pkgs/tools/networking/network-manager/vpnc/fix-paths.patch31
-rw-r--r--pkgs/tools/package-management/nix-repl/default.nix36
-rw-r--r--pkgs/tools/security/pass/default.nix4
-rw-r--r--pkgs/tools/security/pass/set-correct-program-name-for-sleep.patch36
27 files changed, 430 insertions, 329 deletions
diff --git a/pkgs/tools/misc/alarm-clock-applet/default.nix b/pkgs/tools/misc/alarm-clock-applet/default.nix
index b089240bcc6..8ee363ed91d 100644
--- a/pkgs/tools/misc/alarm-clock-applet/default.nix
+++ b/pkgs/tools/misc/alarm-clock-applet/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig
+{ stdenv, fetchFromGitHub
+, pkgconfig
+, autoconf
+, automake111x
+, libtool
+
 , glib
 , gtk2
 , gst_all_1
@@ -15,16 +20,27 @@ stdenv.mkDerivation rec {
   version = "0.3.4";
   name = "alarm-clock-applet-${version}";
 
-  src = fetchurl {
-    url = "http://launchpad.net/alarm-clock/trunk/${version}/+download/${name}.tar.gz";
-    sha256 = "1mrrw5cgv0izdmhdg83vprvbj6062yzk77b2nr1nx6hhmk00946r";
+  src = fetchFromGitHub {
+    owner = "joh";
+    repo = "alarm-clock";
+    rev = version;
+    sha256 = "18blvgy8hmw3jidz7xrv9yiiilnzcj65m6wxhw58nrnbcqbpydwn";
   };
 
   nativeBuildInputs = [
-    makeWrapper
     pkgconfig
+    intltool
+    automake111x
+    autoconf
+    libtool
+
+    gnome2.gnome-common
+
+    wrapGAppsHook
   ];
 
+  preConfigure = "./autogen.sh";
+
   buildInputs = [
     glib
     gtk2
@@ -34,8 +50,6 @@ stdenv.mkDerivation rec {
     libnotify
     libxml2
     libunique
-    intltool
-    wrapGAppsHook
   ] ++ gst_plugins;
 
   propagatedUserEnvPkgs = [ gnome2.GConf.out ];
diff --git a/pkgs/tools/misc/appdata-tools/default.nix b/pkgs/tools/misc/appdata-tools/default.nix
deleted file mode 100644
index 7ceafe12793..00000000000
--- a/pkgs/tools/misc/appdata-tools/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, autoconf, automake, m4
-, intltool, glib, libsoup, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
-  version = "0_1_7";
-  name = "appdata_tools-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/hughsie/appdata-tools/archive/appdata_tools_${version}.tar.gz";
-    sha256 = "1bzqg4gy8gqhbk2qjizsm0b78li9mv84fb3d8qwfpxh7c7p360x8";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf automake m4 intltool glib
-                  libsoup gdk_pixbuf ];
-
-  configureScript = "./autogen.sh";
-
-  meta = with stdenv.lib; {
-    homepage = https://people.freedesktop.org/~hughsient/appdata;
-    description = "CLI designed to validate AppData descriptions for standards compliance and to the style guide";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ lethalman ];
-  };
-}
diff --git a/pkgs/tools/misc/opentimestamps-client/default.nix b/pkgs/tools/misc/opentimestamps-client/default.nix
index 3fbd874503d..94984c57e49 100644
--- a/pkgs/tools/misc/opentimestamps-client/default.nix
+++ b/pkgs/tools/misc/opentimestamps-client/default.nix
@@ -1,5 +1,6 @@
 { lib, buildPythonApplication, fetchFromGitHub, isPy3k
-, opentimestamps, appdirs, GitPython, pysocks }:
+, opentimestamps, appdirs, GitPython, pysocks, fetchpatch, git
+}:
 
 buildPythonApplication rec {
   pname = "opentimestamps-client";
@@ -15,6 +16,15 @@ buildPythonApplication rec {
     sha256 = "05m8nllqad3k69mvby5q08y22i0wrj84gqifdgcldimrrn1i00xp";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/opentimestamps/opentimestamps-client/commit/1b328269ceee66916e9a639e8d5d7d13cd70d5d8.patch";
+      sha256 = "0bd3yalyvk5n4sflw9zilpay5k653ybdgkkfppyrk7c8z3i81hbl";
+    })
+  ];
+
+  checkInputs = [ git ];
+
   propagatedBuildInputs = [ opentimestamps appdirs GitPython pysocks ];
 
   meta = {
diff --git a/pkgs/tools/misc/uudeview/default.nix b/pkgs/tools/misc/uudeview/default.nix
index e66580f25ff..3e8b7d494de 100644
--- a/pkgs/tools/misc/uudeview/default.nix
+++ b/pkgs/tools/misc/uudeview/default.nix
@@ -10,6 +10,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ tcl tk ];
   hardeningDisable = [ "format" ];
   configureFlags = [ "--enable-tk=${tk.dev}" "--enable-tcl=${tcl}" ];
+
+  # https://wiki.tcl.tk/3577
+  patches = [ ./matherr.patch ];
   postPatch = ''
     substituteInPlace tcl/xdeview --replace "exec uuwish" "exec $out/bin/uuwish"
   '';
diff --git a/pkgs/tools/misc/uudeview/matherr.patch b/pkgs/tools/misc/uudeview/matherr.patch
new file mode 100644
index 00000000000..a93db7d7858
--- /dev/null
+++ b/pkgs/tools/misc/uudeview/matherr.patch
@@ -0,0 +1,19 @@
+diff --git a/tcl/uutcl.c b/tcl/uutcl.c
+index f101f2ce52b..71c24688dc4 100644
+--- a/tcl/uutcl.c
++++ b/tcl/uutcl.c
+@@ -48,14 +48,6 @@
+ #include <tcl.h>
+ #endif
+
+-/*
+- * The following variable is a special hack that is needed in order for
+- * Sun shared libraries to be used for Tcl.
+- */
+-
+-extern int matherr();
+-int *tclDummyMathPtr = (int *) matherr;
+-
+ #include <uudeview.h>
+ #include <uuint.h>
+ #include <fptools.h>
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index be6bacd3b21..ebdd08b23a8 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -15,11 +15,11 @@
 buildPythonPackage rec {
 
   pname = "youtube-dl";
-  version = "2018.07.10";
+  version = "2018.08.04";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1rigah941k2drzx5qz937lk68gw9jrizj5lgd9f9znp0bgi2d0xd";
+    sha256 = "1hcx99qbbyigc8k98c8bcc6a2wnhq6493fmrkl7rysc8krlxr0pm";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index 52e350c6319..0b6a7e622a8 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
 , libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl
 , mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
-, libgudev, hicolor-icon-theme, jansson, wrapGAppsHook, webkitgtk, gobjectIntrospection
+, libgudev, jansson, wrapGAppsHook, gobjectIntrospection
 , libappindicator-gtk3, withGnome ? false }:
 
 let
@@ -15,27 +15,28 @@ in stdenv.mkDerivation rec {
     sha256 = "0lmlkh4yyl9smvkgrzshn127zqfbp9f41f448ks8dlhhm38s38v2";
   };
 
+  patches = [
+    # https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/19
+    ./libnm-gtk-mbpi.patch
+  ];
+
   mesonFlags = [
     "-Dselinux=false"
     "-Dappindicator=yes"
     "-Dgcr=${if withGnome then "true" else "false"}"
   ];
 
-  outputs = [ "out" "dev" "devdoc" ];
+  outputs = [ "out" "lib" "dev" "devdoc" "man" ];
 
   buildInputs = [
     gnome3.gtk networkmanager libnotify libsecret gsettings-desktop-schemas
     polkit isocodes mobile-broadband-provider-info libgudev
     modemmanager jansson glib-networking
     libappindicator-gtk3
-  ] ++ stdenv.lib.optionals withGnome [ gnome3.gcr webkitgtk ];
+  ] ++ stdenv.lib.optionals withGnome [ gnome3.gcr ]; # advanced certificate chooser
 
   nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobjectIntrospection gtk-doc docbook_xsl libxml2 ];
 
-  propagatedUserEnvPkgs = [
-    hicolor-icon-theme
-  ];
-
   postPatch = ''
     chmod +x meson_post_install.py # patchShebangs requires executable file
     patchShebangs meson_post_install.py
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn.nix b/pkgs/tools/networking/network-manager/fortisslvpn.nix
deleted file mode 100644
index efdd6120005..00000000000
--- a/pkgs/tools/networking/network-manager/fortisslvpn.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, openfortivpn, automake, autoconf, libtool, intltool, pkgconfig,
-networkmanager, ppp, libsecret, withGnome ? true, gnome3 }:
-
-let
-  pname   = "NetworkManager-fortisslvpn";
-  version = "1.2.8";
-in stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-
-  src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "01gvdv9dknvzx05plq863jh1xz1v8vgj5w7v9fmw5v601ggybf4w";
-  };
-
-  buildInputs = [ openfortivpn networkmanager ppp libtool libsecret ]
-    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring gnome3.networkmanagerapplet ];
-
-  nativeBuildInputs = [ automake autoconf intltool pkgconfig ];
-
-  configureFlags = [
-    "${if withGnome then "--with-gnome" else "--without-gnome"}"
-    "--disable-static"
-    "--localstatedir=/tmp"
-  ];
-
-  preConfigure = ''
-     substituteInPlace "src/nm-fortisslvpn-service.c" \
-       --replace "/bin/openfortivpn" "${openfortivpn}/bin/openfortivpn"
-  '';
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-      attrPath = "networkmanager-fortisslvpn";
-    };
-  };
-
-  meta = {
-    description = "NetworkManager's FortiSSL plugin";
-    inherit (networkmanager.meta) maintainers platforms;
-    license = stdenv.lib.licenses.gpl2Plus;
-  };
-}
-
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
new file mode 100644
index 00000000000..11b29081f9b
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, substituteAll, openfortivpn, intltool, pkgconfig,
+networkmanager, ppp, libsecret, withGnome ? true, gnome3 }:
+
+let
+  pname = "NetworkManager-fortisslvpn";
+  version = "1.2.8";
+in stdenv.mkDerivation rec {
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "01gvdv9dknvzx05plq863jh1xz1v8vgj5w7v9fmw5v601ggybf4w";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit openfortivpn;
+    })
+  ];
+
+  buildInputs = [ openfortivpn networkmanager ppp ]
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ];
+
+  nativeBuildInputs = [ intltool pkgconfig ];
+
+  configureFlags = [
+    "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--localstatedir=/tmp"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-fortisslvpn";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "NetworkManager's FortiSSL plugin";
+    inherit (networkmanager.meta) maintainers platforms;
+    license = licenses.gpl2;
+  };
+}
+
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/fix-paths.patch b/pkgs/tools/networking/network-manager/fortisslvpn/fix-paths.patch
new file mode 100644
index 00000000000..a1241b6738c
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/fortisslvpn/fix-paths.patch
@@ -0,0 +1,11 @@
+--- a/src/nm-fortisslvpn-service.c
++++ b/src/nm-fortisslvpn-service.c
+@@ -387,7 +387,7 @@
+ {
+ 	static const char *openfortivpn_binary_paths[] =
+ 		{
+-			"/bin/openfortivpn",
++			"@openfortivpn@/bin/openfortivpn",
+ 			"/usr/bin/openfortivpn",
+ 			"/usr/local/bin/openfortivpn",
+ 			NULL
diff --git a/pkgs/tools/networking/network-manager/iodine.nix b/pkgs/tools/networking/network-manager/iodine.nix
deleted file mode 100644
index cbc0e6e6d2d..00000000000
--- a/pkgs/tools/networking/network-manager/iodine.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, iodine, intltool, pkgconfig, networkmanager, libsecret
-, withGnome ? true, gnome3 }:
-
-let
-  pname   = "NetworkManager-iodine";
-  version = "1.2.0";
-in stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-
-  src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0njdigakidji6mfmbsp8lfi8wl88z1dk8cljbva2w0xazyddbwyh";
-  };
-
-  buildInputs = [ iodine networkmanager libsecret ]
-    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring
-                                        gnome3.networkmanagerapplet ];
-
-  nativeBuildInputs = [ intltool pkgconfig ];
-
-  # Fixes deprecation errors with networkmanager 1.10.2
-  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
-
-  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"
-  '';
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-      attrPath = "networkmanager-iodine";
-    };
-  };
-
-  meta = {
-    description = "NetworkManager's iodine plugin";
-    inherit (networkmanager.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/tools/networking/network-manager/iodine/default.nix b/pkgs/tools/networking/network-manager/iodine/default.nix
new file mode 100644
index 00000000000..a3dbeaf8265
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/iodine/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, substituteAll, iodine, intltool, pkgconfig, networkmanager, libsecret
+, withGnome ? true, gnome3 }:
+
+let
+  pname = "NetworkManager-iodine";
+  version = "1.2.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0njdigakidji6mfmbsp8lfi8wl88z1dk8cljbva2w0xazyddbwyh";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit iodine;
+    })
+  ];
+
+  buildInputs = [ iodine networkmanager ]
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ];
+
+  nativeBuildInputs = [ intltool pkgconfig ];
+
+  # Fixes deprecation errors with networkmanager 1.10.2
+  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+
+  configureFlags = [
+    "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--localstatedir=/" # needed for the management socket under /run/NetworkManager
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-iodine";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "NetworkManager's iodine plugin";
+    inherit (networkmanager.meta) maintainers platforms;
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/networking/network-manager/iodine/fix-paths.patch b/pkgs/tools/networking/network-manager/iodine/fix-paths.patch
new file mode 100644
index 00000000000..d32dbfadbaf
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/iodine/fix-paths.patch
@@ -0,0 +1,11 @@
+--- a/src/nm-iodine-service.c
++++ b/src/nm-iodine-service.c
+@@ -62,7 +62,7 @@
+ 
+ static const char *iodine_binary_paths[] =
+ {
+-	"/usr/bin/iodine",
++	"@iodine@/bin/iodine",
+ 	"/usr/sbin/iodine",
+ 	"/usr/local/bin/iodine",
+ 	"/usr/local/sbin/iodine",
diff --git a/pkgs/tools/networking/network-manager/l2tp.nix b/pkgs/tools/networking/network-manager/l2tp.nix
deleted file mode 100644
index 54670ff1bce..00000000000
--- a/pkgs/tools/networking/network-manager/l2tp.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, libtool, intltool, pkgconfig
-, networkmanager, ppp, xl2tpd, strongswan, libsecret
-, withGnome ? true, gnome3, networkmanagerapplet }:
-
-stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-  pname   = "NetworkManager-l2tp";
-  version = "1.2.8";
-
-  src = fetchFromGitHub {
-    owner  = "nm-l2tp";
-    repo   = "network-manager-l2tp";
-    rev    = "${version}";
-    sha256 = "110157dpamgr7r5kb8aidi0a2ap9z2m52bff94fb4nhxacz69yv8";
-  };
-
-  buildInputs = [ networkmanager ppp libsecret ]
-    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring networkmanagerapplet ];
-
-  nativeBuildInputs = [ autoreconfHook libtool intltool pkgconfig ];
-
-  postPatch = ''
-    sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-l2tp-service.c
-
-    substituteInPlace ./Makefile.am \
-      --replace '$(sysconfdir)/dbus-1/system.d' "$out/etc/dbus-1/system.d"
-
-    substituteInPlace ./src/nm-l2tp-service.c \
-      --replace /sbin/ipsec  ${strongswan}/bin/ipsec \
-      --replace /sbin/xl2tpd ${xl2tpd}/bin/xl2tpd
-  '';
-
-  preConfigure = ''
-    intltoolize -f
-  '';
-
-  configureFlags = [
-    "--with-gnome=${if withGnome then "yes" else "no"}"
-    "--localstatedir=/var"
-    "--sysconfdir=$(out)/etc"
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "L2TP plugin for NetworkManager";
-    inherit (networkmanager.meta) platforms;
-    homepage = https://github.com/nm-l2tp/network-manager-l2tp;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ abbradar obadz ];
-  };
-}
diff --git a/pkgs/tools/networking/network-manager/l2tp/default.nix b/pkgs/tools/networking/network-manager/l2tp/default.nix
new file mode 100644
index 00000000000..d48d2e910f5
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/l2tp/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, substituteAll, fetchFromGitHub, autoreconfHook, libtool, intltool, pkgconfig
+, networkmanager, ppp, xl2tpd, strongswan, libsecret
+, withGnome ? true, gnome3, networkmanagerapplet }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  pname = "NetworkManager-l2tp";
+  version = "1.2.10";
+
+  src = fetchFromGitHub {
+    owner = "nm-l2tp";
+    repo = "network-manager-l2tp";
+    rev = "${version}";
+    sha256 = "1vm004nj2n5abpywr7ji6r28scf7xs45zw4rqrm8jn7mysf96h0x";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit strongswan xl2tpd;
+    })
+  ];
+
+  buildInputs = [ networkmanager ppp ]
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret networkmanagerapplet ];
+
+  nativeBuildInputs = [ autoreconfHook libtool intltool pkgconfig ];
+
+  preConfigure = ''
+    intltoolize -f
+  '';
+
+  configureFlags = [
+    "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--localstatedir=/var"
+    "--sysconfdir=$(out)/etc"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "L2TP plugin for NetworkManager";
+    inherit (networkmanager.meta) platforms;
+    homepage = https://github.com/nm-l2tp/network-manager-l2tp;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ abbradar obadz ];
+  };
+}
diff --git a/pkgs/tools/networking/network-manager/l2tp/fix-paths.patch b/pkgs/tools/networking/network-manager/l2tp/fix-paths.patch
new file mode 100644
index 00000000000..0a068ee800c
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/l2tp/fix-paths.patch
@@ -0,0 +1,20 @@
+--- a/src/nm-l2tp-service.c
++++ b/src/nm-l2tp-service.c
+@@ -480,7 +480,7 @@
+ {
+ 	static const char *ipsec_binary_paths[] =
+ 		{
+-			"/sbin/ipsec",
++			"@strongswan@/bin/ipsec",
+ 			"/usr/sbin/ipsec",
+ 			"/usr/local/sbin/ipsec",
+ 			"/sbin/strongswan",
+@@ -505,7 +505,7 @@
+ {
+ 	static const char *l2tp_binary_paths[] =
+ 		{
+-			"/sbin/xl2tpd",
++			"@xl2tpd@/bin/xl2tpd",
+ 			"/usr/sbin/xl2tpd",
+ 			"/usr/local/sbin/xl2tpd",
+ 			NULL
diff --git a/pkgs/tools/networking/network-manager/libnm-gtk-mbpi.patch b/pkgs/tools/networking/network-manager/libnm-gtk-mbpi.patch
new file mode 100644
index 00000000000..d7eef5749db
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/libnm-gtk-mbpi.patch
@@ -0,0 +1,33 @@
+--- a/meson.build
++++ b/meson.build
+@@ -137,7 +137,7 @@
+   mobile_broadband_provider_info_dep = dependency('mobile-broadband-provider-info')
+   config_h.set_quoted('MOBILE_BROADBAND_PROVIDER_INFO_DATABASE', mobile_broadband_provider_info_dep.get_pkgconfig_variable('database'))
+ else
+-  config_h.set_quoted('MOBILE_BROADBAND_PROVIDER_INFO_DATABASE', join_paths(nma_prefix, 'share', 'mobile-broadband-provider-info', 'serviceproviders.xml'))
++  config_h.set_quoted('MOBILE_BROADBAND_PROVIDER_INFO_DATABASE', join_paths(nma_datadir, 'mobile-broadband-provider-info', 'serviceproviders.xml'))
+ endif
+ 
+ gio_dep = dependency('gio-2.0', version: '>= 2.38')
+--- a/src/libnm-gtk/nm-mobile-providers.c
++++ b/src/libnm-gtk/nm-mobile-providers.c
+@@ -30,10 +30,6 @@
+ 
+ #include "nm-mobile-providers.h"
+ 
+-#ifndef MOBILE_BROADBAND_PROVIDER_INFO
+-#define MOBILE_BROADBAND_PROVIDER_INFO DATADIR"/mobile-broadband-provider-info/serviceproviders.xml"
+-#endif
+-
+ #define ISO_3166_COUNTRY_CODES ISO_CODES_PREFIX"/share/xml/iso-codes/iso_3166.xml"
+ #define ISO_CODES_LOCALESDIR ISO_CODES_PREFIX"/share/locale"
+ 
+@@ -990,7 +986,7 @@
+ 	if (!country_codes)
+ 		country_codes = ISO_3166_COUNTRY_CODES;
+ 	if (!service_providers)
+-		service_providers = MOBILE_BROADBAND_PROVIDER_INFO;
++		service_providers = MOBILE_BROADBAND_PROVIDER_INFO_DATABASE;
+ 
+ 	countries = read_country_codes (country_codes,
+ 	                                cancellable,
diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect/default.nix
index ad15723dd33..23d4c816a20 100644
--- a/pkgs/tools/networking/network-manager/openconnect.nix
+++ b/pkgs/tools/networking/network-manager/openconnect/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager, libsecret
-, withGnome ? true, gnome3, sysctl, kmod }:
+{ stdenv, fetchurl, substituteAll, openconnect, intltool, pkgconfig, networkmanager, libsecret
+, withGnome ? true, gnome3, kmod }:
 
 let
   pname   = "NetworkManager-openconnect";
@@ -12,24 +12,22 @@ in stdenv.mkDerivation rec {
     sha256 = "15j98wwspv6mcmy91w30as5qc1bzsnhlk060xhjy4qrvd37y0xx1";
   };
 
-  buildInputs = [ openconnect networkmanager libsecret ]
-    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring ];
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit kmod openconnect;
+    })
+  ];
+
+  buildInputs = [ openconnect networkmanager ]
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
   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" "${sysctl}/bin/sysctl"
-     substituteInPlace "src/nm-openconnect-service.c" \
-       --replace "/usr/sbin/openconnect" "${openconnect}/bin/openconnect" \
-       --replace "/sbin/modprobe" "${kmod}/bin/modprobe"
-  '';
-
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
@@ -37,8 +35,9 @@ in stdenv.mkDerivation rec {
     };
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "NetworkManager's OpenConnect plugin";
     inherit (networkmanager.meta) maintainers platforms;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/openconnect/fix-paths.patch b/pkgs/tools/networking/network-manager/openconnect/fix-paths.patch
new file mode 100644
index 00000000000..9b342f5bd08
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/openconnect/fix-paths.patch
@@ -0,0 +1,20 @@
+--- a/src/nm-openconnect-service.c
++++ b/src/nm-openconnect-service.c
+@@ -60,7 +60,7 @@
+ 
+ static const char *openconnect_binary_paths[] =
+ {
+-	"/usr/bin/openconnect",
++	"@openconnect@/bin/openconnect",
+ 	"/usr/sbin/openconnect",
+ 	"/usr/local/bin/openconnect",
+ 	"/usr/local/sbin/openconnect",
+@@ -734,7 +734,7 @@
+ 
+ 	_LOGD ("nm-openconnect-service (version " DIST_VERSION ") starting...");
+ 
+-	if (system ("/sbin/modprobe tun") == -1)
++	if (system ("@kmod@/bin/modprobe tun") == -1)
+ 		exit (EXIT_FAILURE);
+ 
+ 	if (bus_name)
diff --git a/pkgs/tools/networking/network-manager/openvpn/default.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix
index 28b7c873d36..8d3bd874718 100644
--- a/pkgs/tools/networking/network-manager/openvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -2,13 +2,13 @@
 , withGnome ? true, gnome3, kmod }:
 
 let
-  pname   = "NetworkManager-openvpn";
+  pname = "NetworkManager-openvpn";
   version = "1.8.4";
 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 = "0gyrv46h9k17qym48qacq4zpxbap6hi17shn921824zm98m2bdvr";
   };
 
@@ -19,15 +19,13 @@ in stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ openvpn networkmanager libsecret ]
-    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring
-                                        gnome3.networkmanagerapplet ];
+  buildInputs = [ openvpn networkmanager ]
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ];
 
   nativeBuildInputs = [ intltool pkgconfig libxml2 ];
 
   configureFlags = [
-    "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
-    "--disable-static"
+    "--with-gnome=${if withGnome then "yes" else "no"}"
     "--localstatedir=/" # needed for the management socket under /run/NetworkManager
   ];
 
@@ -38,8 +36,9 @@ in stdenv.mkDerivation rec {
     };
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "NetworkManager's OpenVPN plugin";
     inherit (networkmanager.meta) maintainers platforms;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/strongswan.nix b/pkgs/tools/networking/network-manager/strongswan.nix
index fb3ba2bbdf5..fc10fc6364c 100644
--- a/pkgs/tools/networking/network-manager/strongswan.nix
+++ b/pkgs/tools/networking/network-manager/strongswan.nix
@@ -1,38 +1,35 @@
-{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM, sysctl
-, gnome3, libgnome-keyring, libsecret }:
+{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM
+, gnome3, libsecret }:
 
 stdenv.mkDerivation rec {
-  name    = "${pname}-${version}";
-  pname   = "NetworkManager-strongswan";
-  version = "1.4.3";
+  name = "${pname}-${version}";
+  pname = "NetworkManager-strongswan";
+  version = "1.4.4";
 
   src = fetchurl {
-    url    = "https://download.strongswan.org/NetworkManager/${name}.tar.bz2";
-    sha256 = "0jzl52wmh2q2djb1s546kxliy7s6akhi5bx6rp2ppjfk3wbi2a2l";
+    url = "https://download.strongswan.org/NetworkManager/${name}.tar.bz2";
+    sha256 = "1xhj5cipwbihf0cna8lpicpz7cd8fgkagpmg0xvj6pshymm5jbcd";
   };
 
-  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 ]);
+    ++ (with gnome3; [ gtk networkmanagerapplet ]);
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
   # Fixes deprecation errors with networkmanager 1.10.2
   NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
 
-  preConfigure = ''
-     substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${sysctl}/bin/sysctl"
-  '';
+  configureFlags = [
+    "--with-charon=${strongswanNM}/libexec/ipsec/charon-nm"
+    "--with-nm-libexecdir=$(out)/libexec"
+    "--with-nm-plugindir=$(out)/lib/NetworkManager"
+  ];
 
-  configureFlags = [ "--with-charon=${strongswanNM}/libexec/ipsec/charon-nm" ];
+  PKG_CONFIG_LIBNM_VPNSERVICEDIR = "$(out)/lib/NetworkManager/VPN";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "NetworkManager's strongswan plugin";
     inherit (networkmanager.meta) platforms;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix
deleted file mode 100644
index 577e04f6648..00000000000
--- a/pkgs/tools/networking/network-manager/vpnc.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager, libsecret
-, withGnome ? true, gnome3, procps, kmod, file }:
-let
-  pname   = "NetworkManager-vpnc";
-  version = "1.2.6";
-in stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-
-  src = fetchurl {
-    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 ];
-
-  nativeBuildInputs = [ intltool pkgconfig file ];
-
-  configureFlags = [
-    "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
-    "--disable-static"
-  ];
-
-  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;
-      attrPath = "networkmanager-vpnc";
-    };
-  };
-
-  meta = {
-    description = "NetworkManager's VPNC plugin";
-    inherit (networkmanager.meta) maintainers platforms;
-  };
-}
-
diff --git a/pkgs/tools/networking/network-manager/vpnc/default.nix b/pkgs/tools/networking/network-manager/vpnc/default.nix
new file mode 100644
index 00000000000..d2b3a345d49
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/vpnc/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, substituteAll, vpnc, intltool, pkgconfig, networkmanager, libsecret
+, withGnome ? true, gnome3, kmod, file }:
+let
+  pname = "NetworkManager-vpnc";
+  version = "1.2.6";
+in stdenv.mkDerivation rec {
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy";
+  };
+
+  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 = [
+    "--with-gnome=${if withGnome then "yes" else "no"}"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-vpnc";
+    };
+  };
+
+  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 00000000000..98238ac01f7
--- /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);
diff --git a/pkgs/tools/package-management/nix-repl/default.nix b/pkgs/tools/package-management/nix-repl/default.nix
deleted file mode 100644
index 9fe6ec6e291..00000000000
--- a/pkgs/tools/package-management/nix-repl/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, nix, readline }:
-
-let rev = "a1ea85e92b067a0a42354a28355c633eac7be65c"; in
-
-stdenv.mkDerivation {
-  name = "nix-repl-${lib.getVersion nix}-2016-02-28";
-
-  src = fetchFromGitHub {
-    owner = "edolstra";
-    repo = "nix-repl";
-    inherit rev;
-    sha256 = "0rf9711day64lgg6g6yqc5709x4sgj137zpqyn019k764i7m2xs8";
-  };
-
-  buildInputs = [ nix readline ];
-
-  dontBuild = true;
-
-  # FIXME: unfortunate cut&paste.
-  installPhase = ''
-    mkdir -p $out/bin
-    $CXX -O3 -Wall -std=c++0x \
-      -o $out/bin/nix-repl nix-repl.cc \
-      -I${nix.dev}/include/nix \
-      -lnixformat -lnixutil -lnixstore -lnixexpr -lnixmain -lreadline -lgc \
-      -DNIX_VERSION=\"${(builtins.parseDrvName nix.name).version}\"
-  '';
-
-  meta = {
-    homepage = https://github.com/edolstra/nix-repl;
-    description = "An interactive environment for evaluating and building Nix expressions";
-    maintainers = [ lib.maintainers.eelco ];
-    license = lib.licenses.gpl3;
-    platforms = nix.meta.platforms;
-  };
-}
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 007414d68a5..6c0a59bcce7 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -29,12 +29,12 @@ let
     };
 
   generic = extensionsEnv: extraPassthru: stdenv.mkDerivation rec {
-    version = "1.7.2";
+    version = "1.7.3";
     name    = "password-store-${version}";
 
     src = fetchurl {
       url    = "https://git.zx2c4.com/password-store/snapshot/${name}.tar.xz";
-      sha256 = "1sl0d7nc85c6c2bmmmyb8rpmn47vhkj831l153mjlkawjvhwas27";
+      sha256 = "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b";
     };
 
     patches = [ ./set-correct-program-name-for-sleep.patch
diff --git a/pkgs/tools/security/pass/set-correct-program-name-for-sleep.patch b/pkgs/tools/security/pass/set-correct-program-name-for-sleep.patch
index 782e06e20fd..f3a844ad2d6 100644
--- a/pkgs/tools/security/pass/set-correct-program-name-for-sleep.patch
+++ b/pkgs/tools/security/pass/set-correct-program-name-for-sleep.patch
@@ -1,6 +1,6 @@
-From 25b44e00ed5df8ffe2782d38ad5cd9f514379599 Mon Sep 17 00:00:00 2001
-From: "Andrew R. M" <andrewmiller237@gmail.com>
-Date: Sat, 8 Apr 2017 13:50:01 -0400
+From d11261c2ad184daf6e9edd777bc8a3372c277b4b Mon Sep 17 00:00:00 2001
+From: Johannes Frankenau <johannes@frankenau.net>
+Date: Fri, 10 Aug 2018 09:49:57 +0200
 Subject: [PATCH] Patch the clip() function to work even when using
  single-binary coreutils
 
@@ -11,7 +11,7 @@ Subject: [PATCH] Patch the clip() function to work even when using
  3 files changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/src/password-store.sh b/src/password-store.sh
-index 6a4172d..4dbd6b8 100755
+index 7264ffc..68551a4 100755
 --- a/src/password-store.sh
 +++ b/src/password-store.sh
 @@ -155,11 +155,11 @@ clip() {
@@ -20,16 +20,16 @@ index 6a4172d..4dbd6b8 100755
  	local sleep_argv0="password store sleep on display $DISPLAY"
 -	pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
 +	pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
- 	local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | base64)"
+ 	local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | $BASE64)"
  	echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard"
  	(
 -		( exec -a "$sleep_argv0" bash <<<"trap 'kill %1' TERM; sleep '$CLIP_TIME' & wait" )
 +		( exec -a "$sleep_argv0" bash <(echo trap 'kill %1' TERM\; sleep "$CLIP_TIME & wait") )
- 		local now="$(xclip -o -selection "$X_SELECTION" | base64)"
- 		[[ $now != $(echo -n "$1" | base64) ]] && before="$now"
+ 		local now="$(xclip -o -selection "$X_SELECTION" | $BASE64)"
+ 		[[ $now != $(echo -n "$1" | $BASE64) ]] && before="$now"
  
 diff --git a/src/platform/cygwin.sh b/src/platform/cygwin.sh
-index 6e5dd86..f3574c4 100644
+index 5a8d5ea..423e0ce 100644
 --- a/src/platform/cygwin.sh
 +++ b/src/platform/cygwin.sh
 @@ -3,11 +3,11 @@
@@ -38,16 +38,16 @@ index 6e5dd86..f3574c4 100644
  	local sleep_argv0="password store sleep on display $DISPLAY"
 -	pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
 +	pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
- 	local before="$(base64 < /dev/clipboard)"
+ 	local before="$($BASE64 < /dev/clipboard)"
  	echo -n "$1" > /dev/clipboard
  	(
 -		( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
 +		( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") )
- 		local now="$(base64 < /dev/clipboard)"
- 		[[ $now != $(echo -n "$1" | base64) ]] && before="$now"
- 		echo "$before" | base64 -d > /dev/clipboard
+ 		local now="$($BASE64 < /dev/clipboard)"
+ 		[[ $now != $(echo -n "$1" | $BASE64) ]] && before="$now"
+ 		echo "$before" | $BASE64 -d > /dev/clipboard
 diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
-index 86eb325..deb04c4 100644
+index 342ecce..9e12837 100644
 --- a/src/platform/darwin.sh
 +++ b/src/platform/darwin.sh
 @@ -3,11 +3,11 @@
@@ -56,14 +56,14 @@ index 86eb325..deb04c4 100644
  	local sleep_argv0="password store sleep for user $(id -u)"
 -	pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
 +	pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
- 	local before="$(pbpaste | openssl base64)"
+ 	local before="$(pbpaste | $BASE64)"
  	echo -n "$1" | pbcopy
  	(
 -		( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
 +		( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") )
- 		local now="$(pbpaste | openssl base64)"
- 		[[ $now != $(echo -n "$1" | openssl base64) ]] && before="$now"
- 		echo "$before" | openssl base64 -d | pbcopy
+ 		local now="$(pbpaste | $BASE64)"
+ 		[[ $now != $(echo -n "$1" | $BASE64) ]] && before="$now"
+ 		echo "$before" | $BASE64 -d | pbcopy
 -- 
-2.12.2
+2.16.4