about 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/X11/bumblebee/default.nix6
-rw-r--r--pkgs/tools/X11/primus/lib.nix4
-rw-r--r--pkgs/tools/X11/xwinmosaic/default.nix4
-rw-r--r--pkgs/tools/admin/aws_shell/default.nix4
-rw-r--r--pkgs/tools/compression/xar/default.nix5
-rw-r--r--pkgs/tools/compression/xz/default.nix5
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix17
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix6
-rw-r--r--pkgs/tools/filesystems/nilfs-utils/default.nix14
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix1
-rw-r--r--pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch53
-rw-r--r--pkgs/tools/graphics/exif/default.nix4
-rw-r--r--pkgs/tools/graphics/glmark2/default.nix6
-rw-r--r--pkgs/tools/graphics/glxinfo/default.nix23
-rw-r--r--pkgs/tools/graphics/graphviz/base.nix3
-rw-r--r--pkgs/tools/misc/aescrypt/default.nix2
-rw-r--r--pkgs/tools/misc/bonfire/default.nix4
-rw-r--r--pkgs/tools/misc/desktop-file-utils/default.nix6
-rw-r--r--pkgs/tools/misc/fwup/default.nix3
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix6
-rw-r--r--pkgs/tools/misc/keychain/default.nix5
-rw-r--r--pkgs/tools/misc/man-db/default.nix2
-rw-r--r--pkgs/tools/misc/parallel/default.nix2
-rw-r--r--pkgs/tools/misc/parted/default.nix11
-rw-r--r--pkgs/tools/misc/pubs/default.nix27
-rw-r--r--pkgs/tools/networking/curl/default.nix11
-rw-r--r--pkgs/tools/networking/i2p/default.nix4
-rw-r--r--pkgs/tools/networking/lftp/default.nix3
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix12
-rw-r--r--pkgs/tools/networking/netcat-openbsd/default.nix9
-rw-r--r--pkgs/tools/networking/network-manager/openconnect.nix5
-rw-r--r--pkgs/tools/networking/network-manager/strongswan.nix4
-rw-r--r--pkgs/tools/networking/ppp/default.nix15
-rw-r--r--pkgs/tools/networking/ppp/musl-fix-headers.patch10
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/networking/vde2/default.nix10
-rw-r--r--pkgs/tools/networking/wget/default.nix8
-rw-r--r--pkgs/tools/networking/whois/default.nix2
-rw-r--r--pkgs/tools/package-management/disnix/default.nix8
-rw-r--r--pkgs/tools/security/diceware/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/22.nix2
-rw-r--r--pkgs/tools/security/pass/default.nix2
-rw-r--r--pkgs/tools/security/pinentry/default.nix4
-rw-r--r--pkgs/tools/security/sshuttle/default.nix4
-rw-r--r--pkgs/tools/text/odt2txt/default.nix2
-rw-r--r--pkgs/tools/text/recode/default.nix8
-rw-r--r--pkgs/tools/text/unrtf/default.nix3
47 files changed, 238 insertions, 119 deletions
diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix
index 7868c2726ece..8ad1b6f6455e 100644
--- a/pkgs/tools/X11/bumblebee/default.nix
+++ b/pkgs/tools/X11/bumblebee/default.nix
@@ -39,7 +39,7 @@ let
   primus = if useNvidia then primusLib else primusLib.override { nvidia_x11 = null; };
   primus_i686 = if useNvidia then primusLib_i686 else primusLib_i686.override { nvidia_x11 = null; };
 
-  primusLibs = lib.makeLibraryPath ([primus] ++ lib.optional (primusLib_i686 != null) primus_i686);
+  primusLibs = lib.makeLibraryPath ([ primus ] ++ lib.optional (primusLib_i686 != null) primus_i686);
 
   nvidia_x11s = [ nvidia_x11 ]
                 ++ lib.optional nvidia_x11.useGLVND libglvnd
@@ -49,7 +49,6 @@ let
   nvidiaLibs = lib.makeLibraryPath nvidia_x11s;
 
   bbdPath = lib.makeBinPath [ kmod xorgserver ];
-  bbdLibs = lib.makeLibraryPath [ libX11 libXext ];
 
   xmodules = lib.concatStringsSep "," (map (x: "${x.out or x}/lib/xorg/modules") ([ xorgserver ] ++ lib.optional (!useNvidia) xf86videonouveau));
 
@@ -133,8 +132,7 @@ in stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out/sbin/bumblebeed" \
-      --prefix PATH : "${bbdPath}" \
-      --prefix LD_LIBRARY_PATH : "${bbdLibs}"
+      --prefix PATH : "${bbdPath}"
 
     wrapProgram "$out/bin/optirun" \
       --prefix PATH : "${virtualgl}/bin"
diff --git a/pkgs/tools/X11/primus/lib.nix b/pkgs/tools/X11/primus/lib.nix
index dcd50ee9158c..5c4c65bc17a2 100644
--- a/pkgs/tools/X11/primus/lib.nix
+++ b/pkgs/tools/X11/primus/lib.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch
-, libX11, libGL
+, libX11, libGL, mesa_noglu
 , nvidia_x11 ? null
 , libglvnd
 }:
@@ -33,7 +33,7 @@ in stdenv.mkDerivation {
   makeFlags = [ "LIBDIR=$(out)/lib"
                 "PRIMUS_libGLa=${aPackage}/lib/libGL.so"
                 "PRIMUS_libGLd=${libGL}/lib/libGL.so"
-                "PRIMUS_LOAD_GLOBAL=${libGL}/lib/libglapi.so"
+                "PRIMUS_LOAD_GLOBAL=${mesa_noglu}/lib/libglapi.so"
               ];
 
   installPhase = ''
diff --git a/pkgs/tools/X11/xwinmosaic/default.nix b/pkgs/tools/X11/xwinmosaic/default.nix
index e36808db0b8c..b6b87fffb47b 100644
--- a/pkgs/tools/X11/xwinmosaic/default.nix
+++ b/pkgs/tools/X11/xwinmosaic/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, gtk2, cmake, pkgconfig }:
+{ stdenv, fetchgit, gtk2, cmake, pkgconfig, libXdamage }:
 
 stdenv.mkDerivation rec {
   version = "0.4.2";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ gtk2 ];
+  buildInputs = [ gtk2 libXdamage ];
 
   meta = {
     inherit version;
diff --git a/pkgs/tools/admin/aws_shell/default.nix b/pkgs/tools/admin/aws_shell/default.nix
index 6eee98269481..c319c47ea7e4 100644
--- a/pkgs/tools/admin/aws_shell/default.nix
+++ b/pkgs/tools/admin/aws_shell/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-shell";
-  version = "0.1.1";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1pw9lrdjl24n6lrs6lnqpyiyic8bdxgvhyqvb2rx6kkbjrfhhgv5";
+    sha256 = "b46a673b81254e5e014297e08c9ecab535773aa651ca33dc3786a1fd612f9810";
   };
 
   # Why does it propagate packages that are used for testing?
diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix
index c62eead3cb73..01d18fe6ad7d 100644
--- a/pkgs/tools/compression/xar/default.nix
+++ b/pkgs/tools/compression/xar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2 }:
+{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2, musl-fts }:
 
 stdenv.mkDerivation rec {
   version = "1.6.1";
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0ghmsbs6xwg1092v7pjcibmk5wkyifwxw6ygp08gfz25d2chhipf";
   };
 
-  buildInputs = [ libxml2 openssl zlib bzip2 ];
+  buildInputs = [ libxml2 openssl zlib bzip2 ]
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl musl-fts;
 
   meta = {
     homepage    = https://mackyle.github.io/xar/;
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index 8d02e926e57f..da3a537da283 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  preCheck = ''
+    # Tests have a /bin/sh dependency...
+    patchShebangs tests
+  '';
+
   # In stdenv-linux, prevent a dependency on bootstrap-tools.
   preConfigure = "CONFIG_SHELL=/bin/sh";
 
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 09f004f28440..e84260052a41 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -1,17 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo
+{ stdenv, fetchurl, fetchpatch, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt, zstd
 }:
 
-let version = "4.15.1"; in
-
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
+  version = "4.15.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
     sha256 = "15izak6jg6pqr6ha9447cdrdj9k6kfiarvwlrj53cpvrsv02l437";
   };
 
+  patches = [
+    # Fix build with e2fsprogs 1.44.0
+    (fetchpatch {
+      url = "https://patchwork.kernel.org/patch/10281327/raw/";
+      sha256 = "016124hjms220809zjvvr7l1gq23j419d3piaijsaw8n7yd3kksf";
+    })
+  ];
+
   nativeBuildInputs = [
     pkgconfig asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
   ];
@@ -20,12 +27,14 @@ stdenv.mkDerivation rec {
 
   # gcc bug with -O1 on ARM with gcc 4.8
   # This should be fine on all platforms so apply universally
-  patchPhase = "sed -i s/-O1/-O2/ configure";
+  postPatch = "sed -i s/-O1/-O2/ configure";
 
   postInstall = ''
     install -v -m 444 -D btrfs-completion $out/etc/bash_completion.d/btrfs
   '';
 
+  configureFlags = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace";
+
   meta = with stdenv.lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = https://btrfs.wiki.kernel.org/;
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index 62eab06c387c..1c8835a2ed4c 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,18 +1,18 @@
 { stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "e2fsprogs-1.43.9";
+  name = "e2fsprogs-1.44.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz";
-    sha256 = "15rqvkzylqqckshfy7vmk15k7wds2rh3k1pwrkrs684p3g0gzq2v";
+    sha256 = "1rn1nvp8kcvjmbh2bxrjfbrz7zz519d52rrxqvc50l0hzs6hda55";
   };
 
   outputs = [ "bin" "dev" "out" "man" "info" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ pkgconfig texinfo ];
-  buildInputs = [ libuuid ] ++ stdenv.lib.optional (!stdenv.isLinux) gettext;
+  buildInputs = [ libuuid gettext ];
 
   configureFlags =
     if stdenv.isLinux then [
diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix
index 977add39b94b..5bce33065192 100644
--- a/pkgs/tools/filesystems/nilfs-utils/default.nix
+++ b/pkgs/tools/filesystems/nilfs-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libuuid, libselinux }:
+{ stdenv, fetchurl, fetchpatch, libuuid, libselinux }:
 let 
   sourceInfo = rec {
     version = "2.2.7";
@@ -23,6 +23,18 @@ stdenv.mkDerivation rec {
     sed -e 's@/sbin/@'"$out"'/sbin/@' -i ./lib/cleaner*.c
   '';
 
+  patches = [
+    # Fix w/musl
+    (fetchpatch {
+      url = "https://github.com/nilfs-dev/nilfs-utils/commit/115fe4b976858c487cf83065f513d8626089579a.patch";
+      sha256 = "0h89jz9l5d4rqj647ljbnv451l4ncqpsvzj0v70mn5391hfwsjlv";
+    })
+    (fetchpatch {
+      url =  "https://github.com/nilfs-dev/nilfs-utils/commit/51b32c614be9e98c32de7f531ee600ca0740946f.patch";
+      sha256 = "1ycq83c6jjy74aif47v075k5y2szzwhq6mbcrpd1z4b4i1x6yhpn";
+    })
+  ];
+
   # FIXME: https://github.com/NixOS/patchelf/pull/98 is in, but stdenv
   # still doesn't use it
   #
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index 5321fd8a830f..cc2bbad1680a 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     (gentooPatch "xfsprogs-4.12.0-sharedlibs.patch" "1i081749x91jvlrw84l4a3r081vqcvn6myqhnqbnfcfhd64h12bq")
     (gentooPatch "xfsprogs-4.7.0-libxcmd-link.patch" "1lvy1ajzml39a631a7jqficnzsd40bzkca7hkxv1ybiqyp8sf55s")
     (gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7")
+    ./glibc-2.27.patch
   ];
 
   preConfigure = ''
diff --git a/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch b/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch
new file mode 100644
index 000000000000..1f398b1daa85
--- /dev/null
+++ b/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch
@@ -0,0 +1,53 @@
+From 8041435de7ed028a27ecca64302945ad455c69a6 Mon Sep 17 00:00:00 2001
+From: "Darrick J. Wong" <darrick.wong@oracle.com>
+Date: Mon, 5 Feb 2018 14:38:02 -0600
+Subject: xfs_io: fix copy_file_range symbol name collision
+
+glibc 2.27 has a copy_file_range wrapper, so we need to change our
+internal function out of the way to avoid compiler warnings.
+
+Reported-by: fredrik@crux.nu
+Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
+Reviewed-by: Eric Sandeen <sandeen@redhat.com>
+Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
+---
+ io/copy_file_range.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/io/copy_file_range.c b/io/copy_file_range.c
+index d1dfc5a..99fba20 100644
+--- a/io/copy_file_range.c
++++ b/io/copy_file_range.c
+@@ -42,13 +42,18 @@ copy_range_help(void)
+ "));
+ }
+ 
++/*
++ * Issue a raw copy_file_range syscall; for our test program we don't want the
++ * glibc buffered copy fallback.
++ */
+ static loff_t
+-copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len)
++copy_file_range_cmd(int fd, loff_t *src, loff_t *dst, size_t len)
+ {
+ 	loff_t ret;
+ 
+ 	do {
+-		ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, len, 0);
++		ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst,
++				len, 0);
+ 		if (ret == -1) {
+ 			perror("copy_range");
+ 			return errno;
+@@ -130,7 +135,7 @@ copy_range_f(int argc, char **argv)
+ 		copy_dst_truncate();
+ 	}
+ 
+-	ret = copy_file_range(fd, &src, &dst, len);
++	ret = copy_file_range_cmd(fd, &src, &dst, len);
+ 	close(fd);
+ 	return ret;
+ }
+-- 
+cgit v1.1
+
diff --git a/pkgs/tools/graphics/exif/default.nix b/pkgs/tools/graphics/exif/default.nix
index 537d1a8c7db9..d6ec68ba3cc5 100644
--- a/pkgs/tools/graphics/exif/default.nix
+++ b/pkgs/tools/graphics/exif/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libexif, popt, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, libexif, popt, libintl }:
 
 stdenv.mkDerivation rec {
   name = "exif-0.6.21";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libexif popt ] ++ libintlOrEmpty;
+  buildInputs = [ libexif popt libintl ];
 
   meta = {
     homepage = http://libexif.sourceforge.net/;
diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix
index 8a75fea33ce8..43da52634e68 100644
--- a/pkgs/tools/graphics/glmark2/default.nix
+++ b/pkgs/tools/graphics/glmark2/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGLU_combined, libdrm,
-  python27, wayland, libudev }:
+{ stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGL, libdrm,
+  python27, wayland, libudev, mesa_noglu }:
 
 stdenv.mkDerivation rec {
   name = "glmark2-${version}";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libjpeg libpng xorg.libxcb libX11 libGLU_combined libdrm python27 wayland libudev
+    libjpeg libpng xorg.libxcb libX11 libGL libdrm python27 wayland libudev mesa_noglu
   ];
 
   buildPhase = ''
diff --git a/pkgs/tools/graphics/glxinfo/default.nix b/pkgs/tools/graphics/glxinfo/default.nix
index b4b881e6c500..a3a9a4d8eda4 100644
--- a/pkgs/tools/graphics/glxinfo/default.nix
+++ b/pkgs/tools/graphics/glxinfo/default.nix
@@ -1,23 +1,22 @@
-{ stdenv, fetchurl, xlibsWrapper, libGL }:
+{ stdenv, fetchurl, libGL, libX11 }:
 
-let version = "8.3.0"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "glxinfo-${version}";
+  version = "8.3.0";
 
   src = fetchurl {
-    url = "ftp://ftp.freedesktop.org/pub/libGLU_combined/demos/${version}/mesa-demos-${version}.tar.bz2";
+    url = "ftp://ftp.freedesktop.org/pub/mesa/demos/${version}/mesa-demos-${version}.tar.bz2";
     sha256 = "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1";
   };
 
-  buildInputs = [ xlibsWrapper libGL ];
+  buildInputs = [ libX11 libGL ];
 
   configurePhase = "true";
 
   buildPhase = "
     cd src/xdemos
-    gcc glxinfo.c glinfo_common.c -o glxinfo -lGL -lX11
-    gcc glxgears.c -o glxgears -lGL -lX11
+    $CC glxinfo.c glinfo_common.c -o glxinfo -lGL -lX11
+    $CC glxgears.c -o glxgears -lGL -lX11 -lm
   ";
 
   installPhase = "
@@ -25,7 +24,11 @@ stdenv.mkDerivation {
     cp glxinfo glxgears $out/bin/
   ";
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Test utilities for OpenGL";
+    homepage = https://www.mesa3d.org/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/tools/graphics/graphviz/base.nix b/pkgs/tools/graphics/graphviz/base.nix
index f61c7923d794..b360f9a34503 100644
--- a/pkgs/tools/graphics/graphviz/base.nix
+++ b/pkgs/tools/graphics/graphviz/base.nix
@@ -23,8 +23,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libpng libjpeg expat yacc libtool fontconfig gd gts libdevil flex pango
+    gettext
   ] ++ optionals (xorg != null) (with xorg; [ libXrender libXaw libXpm ])
-    ++ optionals (stdenv.isDarwin) [ ApplicationServices gettext ];
+    ++ optionals (stdenv.isDarwin) [ ApplicationServices ];
 
   hardeningDisable = [ "fortify" ];
 
diff --git a/pkgs/tools/misc/aescrypt/default.nix b/pkgs/tools/misc/aescrypt/default.nix
index d11392599220..d1125d572ee9 100644
--- a/pkgs/tools/misc/aescrypt/default.nix
+++ b/pkgs/tools/misc/aescrypt/default.nix
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libiconv ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";
-
   meta = with stdenv.lib; {
     description = "Encrypt files with Advanced Encryption Standard (AES)";
     homepage    = https://www.aescrypt.com/;
diff --git a/pkgs/tools/misc/bonfire/default.nix b/pkgs/tools/misc/bonfire/default.nix
index 0d6e93118d82..9355f3e54076 100644
--- a/pkgs/tools/misc/bonfire/default.nix
+++ b/pkgs/tools/misc/bonfire/default.nix
@@ -19,8 +19,8 @@ buildPythonApplication rec {
   postPatch = ''
     # https://github.com/blue-yonder/bonfire/pull/24
     substituteInPlace requirements.txt \
-      --replace "arrow>=0.5.4,<0.8" "arrow>=0.5.4,<0.13" \
-      --replace "keyring>=9,<10"    "keyring>=9,<=11"
+      --replace "arrow>=0.5.4,<0.8" "arrow>=0.5.4" \
+      --replace "keyring>=9,<10"    "keyring>=9"
     # pip fails when encountering the git hash for the package version
     substituteInPlace setup.py \
       --replace "version=version," "version='${version}',"
diff --git a/pkgs/tools/misc/desktop-file-utils/default.nix b/pkgs/tools/misc/desktop-file-utils/default.nix
index 6e2f6548722e..e89222af74b4 100644
--- a/pkgs/tools/misc/desktop-file-utils/default.nix
+++ b/pkgs/tools/misc/desktop-file-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, glib, libintl }:
 
 with stdenv.lib;
 
@@ -11,9 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libintlOrEmpty ];
-
-  NIX_LDFLAGS = optionalString stdenv.isDarwin "-lintl";
+  buildInputs = [ glib libintl ];
 
   meta = {
     homepage = http://www.freedesktop.org/wiki/Software/desktop-file-utils;
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index e7e40bc851e2..e334a2a8813e 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -23,9 +23,6 @@ stdenv.mkDerivation rec {
     ];
   propagatedBuildInputs = [ zip unzip mtools dosfstools coreutils ];
 
-  # segfaults on darwin without
-  NIX_LDFLAGS = lib.optional stdenv.isDarwin "-F/System/Library/Frameworks";
-
   meta = with stdenv.lib; {
     description = "Configurable embedded Linux firmware update creator and runner";
     homepage = https://github.com/fhunleth/fwup;
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index 5b9130bbe0e8..96ce38ea9e85 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromSavannah, autogen, flex, bison, python, autoconf, automake
-, gettext, ncurses, libusb, freetype, qemu, devicemapper, unifont
+, gettext, ncurses, libusb, freetype, qemu, devicemapper, unifont, pkgconfig
 , zfs ? null
 , efiSupport ? false
 , zfsSupport ? true
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     sha256 = "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1";
   };
 
-  nativeBuildInputs = [ bison flex python ];
+  nativeBuildInputs = [ bison flex python pkgconfig ];
   buildInputs = [ ncurses libusb freetype gettext devicemapper ]
     ++ optional doCheck qemu
     ++ optional zfsSupport zfs;
@@ -123,6 +123,6 @@ stdenv.mkDerivation rec {
 
     license = licenses.gpl3Plus;
 
-    platforms = platforms.gnu;
+    platforms = platforms.gnu ++ platforms.linux;
   };
 })
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 7fd9897a71bb..133a461964bd 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchFromGitHub, makeWrapper, coreutils, openssh, gnupg
-, perl, procps, gnugrep, gawk, findutils, gnused
-, withProcps ? stdenv.isLinux }:
+, perl, procps, gnugrep, gawk, findutils, gnused }:
 
 stdenv.mkDerivation rec {
   name = "keychain-${version}";
@@ -27,7 +26,7 @@ stdenv.mkDerivation rec {
       --prefix PATH ":" "${gnused}/bin" \
       --prefix PATH ":" "${findutils}/bin" \
       --prefix PATH ":" "${gawk}/bin" \
-      ${if withProcps then ("--prefix PATH \":\" ${procps}/bin") else ""}
+      --prefix PATH ":" "${procps}/bin"
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index eadb736aeeb2..8d0728b7556e 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = !stdenv.hostPlatform.isMusl; /* iconv binary */
 
   meta = with stdenv.lib; {
     homepage = http://man-db.nongnu.org;
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index e42a45b260eb..093633e21142 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/parallel \
-      ${if stdenv.isLinux then ("--prefix PATH \":\" ${procps}/bin") else ""} \
+      --prefix PATH : "${procps}/bin" \
       --prefix PATH : "${perl}/bin" \
   '';
 
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 68240210e746..3a05a1927dbc 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, devicemapper, libuuid, gettext, readline, perl, python2
+{ stdenv, fetchurl, fetchpatch, devicemapper, libuuid, gettext, readline, perl, python2
 , utillinux, check, enableStatic ? false, hurd ? null }:
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5";
   };
 
-  patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch;
+  patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl
+    (fetchpatch {
+      url = "https://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch?id=9c5cd3c329a40ba4559cc1d8c7d17a9bf95c237b";
+      sha256 = "117ypyiwvzym6pi8xmy16wa5z3sbpx7gh6haabs6kfb1x2894z7q";
+    });
 
   postPatch = stdenv.lib.optionalString doCheck ''
     patchShebangs tests
@@ -31,7 +36,7 @@ stdenv.mkDerivation rec {
 
   # Tests were previously failing due to Hydra running builds as uid 0.
   # That should hopefully be fixed now.
-  doCheck = true;
+  doCheck = !stdenv.hostPlatform.isMusl; /* translation test */
 
   preCheck =
     stdenv.lib.optionalString doCheck
diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix
index aa8c43b7cdd7..c9ab32035de4 100644
--- a/pkgs/tools/misc/pubs/default.nix
+++ b/pkgs/tools/misc/pubs/default.nix
@@ -1,7 +1,24 @@
-{ stdenv, fetchFromGitHub, python3Packages }:
+{ stdenv, fetchFromGitHub, python3 }:
 
-python3Packages.buildPythonApplication rec {
-  name = "pubs-${version}";
+let
+  python3Packages = (python3.override {
+    packageOverrides = self: super: {
+      # https://github.com/pubs/pubs/issues/131
+      pyfakefs = super.pyfakefs.overridePythonAttrs (oldAttrs: rec {
+        version = "3.3";
+        src = self.fetchPypi {
+          pname = "pyfakefs";
+          inherit version;
+          sha256 = "e3e198dea5e0d5627b73ba113fd0b139bb417da6bc15d920b2c873143d2f12a6";
+        };
+        postPatch = "";
+        doCheck = false;
+      });
+    };
+  }).pkgs;
+
+in python3Packages.buildPythonApplication rec {
+  pname = "pubs";
   version = "0.7.0";
 
   src = fetchFromGitHub {
@@ -13,9 +30,10 @@ python3Packages.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3Packages; [
     dateutil configobj bibtexparser pyyaml requests beautifulsoup4
-    pyfakefs ddt
   ];
 
+  checkInputs = with python3Packages; [ pyfakefs ddt ];
+
   preCheck = ''
     # API tests require networking
     rm tests/test_apis.py
@@ -29,6 +47,5 @@ python3Packages.buildPythonApplication rec {
     homepage = https://github.com/pubs/pubs;
     license = licenses.lgpl3;
     maintainers = with maintainers; [ gebner ];
-    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index dbe2a6639352..32a8a7888484 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl
+{ stdenv, lib, fetchurl, pkgconfig, perl
 , http2Support ? true, nghttp2
 , idnSupport ? false, libidn ? null
 , ldapSupport ? false, openldap ? null
@@ -24,11 +24,14 @@ assert brotliSupport -> brotli != null;
 assert gssSupport -> kerberos != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.58.0";
+  name = "curl-7.59.0";
 
   src = fetchurl {
-    url = "https://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "0cg7klhf1ksnbw5wvwa802qir877zv4y3dj7swz1xh07g3wq3c0w";
+    urls = [
+      "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2"
+      "https://curl.haxx.se/download/${name}.tar.bz2"
+    ];
+    sha256 = "185mazhi4bc5mc6rvhrmnc67j8l3sg7f0w2hp5gmi5ccdbyhz4mm";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index ec268d5d77f6..58533f683e71 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, procps, coreutils, fetchurl, jdk, jre, ant, gettext, which }:
+{ stdenv, ps, coreutils, fetchurl, jdk, jre, ant, gettext, which }:
 
 let wrapper = stdenv.mkDerivation rec {
   name = "wrapper-${version}";
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
       -e "s#uname#${coreutils}/bin/uname#" \
       -e "s#which#${which}/bin/which#" \
       -e "s#%gettext%#${gettext}/bin/gettext#" \
-      -e "s#/usr/ucb/ps#${procps}/bin/ps#" \
+      -e "s#/usr/ucb/ps#${ps}/bin/ps#" \
       -e "s#/usr/bin/tr#${coreutils}/bin/tr#" \
       -e "s#%INSTALL_PATH#$out#" \
       -e 's#%USER_HOME#$HOME#' \
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index 3e4f1eaeeefe..36eced808569 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ gnutls readline zlib libidn2 gmp libiconv libunistring ]
-    ++ stdenv.lib.optional stdenv.isDarwin gettext;
+  buildInputs = [ gnutls readline zlib libidn2 gmp libiconv libunistring gettext ];
 
   hardeningDisable = stdenv.lib.optional stdenv.isDarwin "format";
 
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
index c969119e1d76..5f7537eda18d 100644
--- a/pkgs/tools/networking/mitmproxy/default.nix
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonPackage rec {
   pname = "mitmproxy";
-  version = "3.0.2";
+  version = "3.0.4";
 
   src = fetchFromGitHub {
     owner  = pname;
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0rvwm11yryzlp3c1i42rk2iv1m38yn6r83k41jb51hwg6wzbwzvw";
+    sha256 = "10l761ds46r1p2kjxlgby9vdxbjjlgq72s6adjypghi41s3qf034";
   };
 
   postPatch = ''
@@ -29,13 +29,13 @@ buildPythonPackage rec {
     blinker click certifi cryptography
     h2 hyperframe kaitaistruct passlib
     pyasn1 pyopenssl pyparsing pyperclip
-    requests ruamel_yaml tornado urwid
-    brotlipy sortedcontainers ldap3
+    ruamel_yaml tornado urwid brotlipy
+    sortedcontainers ldap3 wsproto
   ];
 
-  buildInputs = [
+  checkInputs = [
     beautifulsoup4 flask pytest
-    pytestrunner glibcLocales
+    requests glibcLocales
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/netcat-openbsd/default.nix b/pkgs/tools/networking/netcat-openbsd/default.nix
index 8c9247013778..2d9776abfcfc 100644
--- a/pkgs/tools/networking/netcat-openbsd/default.nix
+++ b/pkgs/tools/networking/netcat-openbsd/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, libbsd}:
+{stdenv, fetchurl, fetchpatch, pkgconfig, libbsd}:
 
 stdenv.mkDerivation rec {
   version = "1.187";
@@ -27,6 +27,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl [
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/proj/musl.git/plain/net-analyzer/openbsd-netcat/files/openbsd-netcat-1.105-b64_ntop.patch?id=4a5864922232c7df550c21f2a7b77fe6f8ffc6d6";
+      sha256 = "1cgqb6fxas5yiwf26hq57v627hhmcskl5j6rx30090ha2ksjqyvr";
+    })
+  ];
+
   installPhase = ''
     runHook preInstall
     install -Dm0755 nc $out/bin/nc
diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix
index efaa146c72f3..27fd4c4adc30 100644
--- a/pkgs/tools/networking/network-manager/openconnect.nix
+++ b/pkgs/tools/networking/network-manager/openconnect.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager, libsecret
-, withGnome ? true, gnome3, procps, kmod }:
+, withGnome ? true, gnome3, sysctl, kmod }:
 
 let
   pname   = "NetworkManager-openconnect";
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
 
   preConfigure = ''
      substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${procps}/bin/sysctl"
+       --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"
@@ -42,4 +42,3 @@ in stdenv.mkDerivation rec {
     inherit (networkmanager.meta) maintainers platforms;
   };
 }
-
diff --git a/pkgs/tools/networking/network-manager/strongswan.nix b/pkgs/tools/networking/network-manager/strongswan.nix
index cfa304901b48..fb3ba2bbdf5a 100644
--- a/pkgs/tools/networking/network-manager/strongswan.nix
+++ b/pkgs/tools/networking/network-manager/strongswan.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM, procps
+{ stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM, sysctl
 , gnome3, libgnome-keyring, libsecret }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
      substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${procps}/bin/sysctl"
+       --replace "/sbin/sysctl" "${sysctl}/bin/sysctl"
   '';
 
   configureFlags = [ "--with-charon=${strongswanNM}/libexec/ipsec/charon-nm" ];
diff --git a/pkgs/tools/networking/ppp/default.nix b/pkgs/tools/networking/ppp/default.nix
index 570e85c32815..96016ee7b4f3 100644
--- a/pkgs/tools/networking/ppp/default.nix
+++ b/pkgs/tools/networking/ppp/default.nix
@@ -23,15 +23,30 @@ stdenv.mkDerivation rec {
         url = "https://anonscm.debian.org/git/collab-maint/pkg-ppp.git/plain/debian/patches/rc_mksid-no-buffer-overflow?h=debian/2.4.7-1%2b4";
         sha256 = "1dk00j7bg9nfgskw39fagnwv1xgsmyv0xnkd6n1v5gy0psw0lvqh";
       })
+      (fetchurl {
+        url = "https://anonscm.debian.org/git/collab-maint/pkg-ppp.git/plain/debian/patches/0016-pppoe-include-netinet-in.h-before-linux-in.h.patch";
+        sha256 = "1xnmqn02kc6g5y84xynjwnpv9cvrfn3nyv7h7r8j8xi7qf2aj4q8";
+      })
       ./musl-fix-headers.patch
     ];
 
   buildInputs = [ libpcap ];
 
+  postPatch = ''
+    # strip is not found when cross compiling with seemingly no way to point
+    # make to the right place, fixup phase will correctly strip
+    # everything anyway so we remove it from the Makefiles
+    for file in $(find -name Makefile.linux); do
+      substituteInPlace "$file" --replace '$(INSTALL) -s' '$(INSTALL)'
+    done
+  '';
+
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     make install
     install -D -m 755 scripts/{pon,poff,plog} $out/bin
+    runHook postInstall
   '';
 
   postFixup = ''
diff --git a/pkgs/tools/networking/ppp/musl-fix-headers.patch b/pkgs/tools/networking/ppp/musl-fix-headers.patch
index d24f62896840..030cc97d157f 100644
--- a/pkgs/tools/networking/ppp/musl-fix-headers.patch
+++ b/pkgs/tools/networking/ppp/musl-fix-headers.patch
@@ -89,12 +89,12 @@ index 3d3bf4e..b5f82d3 100644
     use different frame types... sigh... */
  
 diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h
-index 9ab2eee..4d68147 100644
+index c4aaa6e..70aef85 100644
 --- a/pppd/plugins/rp-pppoe/pppoe.h
 +++ b/pppd/plugins/rp-pppoe/pppoe.h
-@@ -86,18 +86,6 @@ typedef unsigned long UINT32_t;
- 
- #include <netinet/in.h>
+@@ -88,18 +88,6 @@ typedef unsigned long UINT32_t;
+ #include <linux/if_ether.h>
+ #endif
  
 -#ifdef HAVE_NETINET_IF_ETHER_H
 -#include <sys/types.h>
@@ -108,9 +108,9 @@ index 9ab2eee..4d68147 100644
 -#endif
 -
 -
- 
  /* Ethernet frame types according to RFC 2516 */
  #define ETH_PPPOE_DISCOVERY 0x8863
+ #define ETH_PPPOE_SESSION   0x8864
 diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
 index 6d71530..86d224e 100644
 --- a/pppd/sys-linux.c
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index cc2f994d0d54..ed5c30aa42b5 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.6.8";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "0jfxhh4gc5amhndikskz1s7da27ycn442j3l20bm992n7zijid73";
+    sha256 = "18i6p6zqmbs9gj57mz3iwz828csaab26gb534b8wrn0kzdqr1pcl";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/networking/vde2/default.nix b/pkgs/tools/networking/vde2/default.nix
index ff54e1ab2d21..39674d22aa1d 100644
--- a/pkgs/tools/networking/vde2/default.nix
+++ b/pkgs/tools/networking/vde2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl, libpcap, python2 }:
+{ stdenv, fetchurl, fetchpatch, openssl, libpcap, python2 }:
 
 stdenv.mkDerivation rec {
   name = "vde2-2.3.2";
@@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "14xga0ib6p1wrv3hkl4sa89yzjxv7f1vfqaxsch87j6scdm59pr2";
   };
 
+  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl (
+    fetchpatch {
+      url = "https://git.alpinelinux.org/cgit/aports/plain/main/vde2/musl-build-fix.patch?id=ddee2f86a48e087867d4a2c12849b2e3baccc238";
+      sha256 = "0b5382v541bkxhqylilcy34bh83ag96g71f39m070jzvi84kx8af";
+    }
+  );
+
+
   buildInputs = [ openssl libpcap python2 ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index b31ae93066ef..e2d4712d5bc3 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, gettext, pkgconfig, perl
-, libidn2, zlib, pcre, libuuid, libiconv
+, libidn2, zlib, pcre, libuuid, libiconv, libintl
 , IOSocketSSL, LWP, python3, lzip
 , libpsl ? null
 , openssl ? null }:
@@ -25,12 +25,10 @@ stdenv.mkDerivation rec {
     do
       sed -i "$i" -e's/localhost/127.0.0.1/g'
     done
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    export LIBS="-liconv -lintl"
   '';
 
-  nativeBuildInputs = [ gettext pkgconfig perl lzip ];
-  buildInputs = [ libidn2 libiconv zlib pcre libuuid ]
+  nativeBuildInputs = [ gettext pkgconfig perl lzip libiconv libintl ];
+  buildInputs = [ libidn2 zlib pcre libuuid ]
     ++ stdenv.lib.optionals doCheck [ IOSocketSSL LWP python3 ]
     ++ stdenv.lib.optional (openssl != null) openssl
     ++ stdenv.lib.optional (libpsl != null) libpsl
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index 48a3d1591fc9..4a40c3200407 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -18,8 +18,6 @@ stdenv.mkDerivation rec {
     for i in Makefile po/Makefile; do
       substituteInPlace $i --replace "prefix = /usr" "prefix = $out"
     done
-  '' + stdenv.lib.optionalString (stdenv.isDarwin || stdenv.hostPlatform.isMusl) ''
-    echo "whois_LDADD += -liconv" >> Makefile
   '';
 
   makeFlags = [ "HAVE_ICONV=1" ];
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 03831f9b8b87..a55fd33f8991 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconv }:
+{ stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintl, libiconv }:
 
 stdenv.mkDerivation {
   name = "disnix-0.8";
-  
+
   src = fetchurl {
     url = https://github.com/svanderburg/disnix/files/1756701/disnix-0.8.tar.gz;
     sha256 = "02cmj1jqk5i90szjsn5csr7qb7n42v04rvl9syx0zi9sx9ldnb0w";
   };
-  
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconv dysnomia ];
+  buildInputs = [ glib libxml2 libxslt getopt nixUnstable libintl libiconv dysnomia ];
 
   meta = {
     description = "A Nix-based distributed service deployment tool";
diff --git a/pkgs/tools/security/diceware/default.nix b/pkgs/tools/security/diceware/default.nix
index ce7f1d0e1b4b..07061aa0d117 100644
--- a/pkgs/tools/security/diceware/default.nix
+++ b/pkgs/tools/security/diceware/default.nix
@@ -7,11 +7,11 @@ with pythonPackages;
 
 buildPythonApplication rec {
   pname = "diceware";
-  version = "0.9.4";
+  version = "0.9.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0855n4dh16ws1dhw1ixxwk3wx7qr45xff7pn32pjg58p4z4cx168";
+    sha256 = "22a998361fd2afbc7890062e228235b3501084de1e6a5bb61f16d2637977f50d";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index c47780588cd7..860c90eb4c9d 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -28,8 +28,6 @@ stdenv.mkDerivation rec {
     readline libusb gnutls adns openldap zlib bzip2 sqlite
   ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   patches = [
     ./fix-libusb-include-path.patch
   ];
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index ad2afa8ed912..4f9e6c06697c 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -74,8 +74,8 @@ in stdenv.mkDerivation rec {
     tree
     which
     qrencode
+    procps
   ] ++ optional tombPluginSupport tomb
-    ++ optional stdenv.isLinux procps
     ++ ifEnable x11Support [ dmenu xclip xdotool ]);
 
   postFixup = ''
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index ac00c1fd5443..07cf15baa224 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -1,5 +1,6 @@
 { fetchurl, fetchpatch, stdenv, lib, pkgconfig
-, libgpgerror, libassuan, libcap ? null, libsecret ? null, ncurses ? null, gtk2 ? null, gcr ? null, qt ? null
+, libgpgerror, libassuan, libcap ? null, libsecret ? null, ncurses ? null,  gtk2 ? null, gcr ? null, qt ? null
+, enableEmacs ? false
 }:
 
 let
@@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
     (mkEnable (libsecret != null) "libsecret")
     (mkEnable (ncurses != null)   "pinentry-curses")
     (mkEnable true                "pinentry-tty")
+    (mkEnable enableEmacs         "pinentry-emacs")
     (mkEnable (gtk2 != null)      "pinentry-gtk2")
     (mkEnable (gcr != null)       "pinentry-gnome3")
     (mkEnable (qt != null)        "pinentry-qt")
diff --git a/pkgs/tools/security/sshuttle/default.nix b/pkgs/tools/security/sshuttle/default.nix
index d344f95573dd..c3bf4f69a46d 100644
--- a/pkgs/tools/security/sshuttle/default.nix
+++ b/pkgs/tools/security/sshuttle/default.nix
@@ -25,8 +25,8 @@ python3Packages.buildPythonApplication rec {
 
   nativeBuildInputs = [ makeWrapper python3Packages.setuptools_scm ] ++ stdenv.lib.optional (stdenv.system != "i686-linux") pandoc;
   buildInputs =
-    [ coreutils openssh ] ++
-    stdenv.lib.optionals stdenv.isLinux [ iptables nettools procps ];
+    [ coreutils openssh procps nettools ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ iptables ];
 
   checkInputs = with python3Packages; [ mock pytest pytestrunner ];
 
diff --git a/pkgs/tools/text/odt2txt/default.nix b/pkgs/tools/text/odt2txt/default.nix
index 187a6526dc3c..3feecdf4f53c 100644
--- a/pkgs/tools/text/odt2txt/default.nix
+++ b/pkgs/tools/text/odt2txt/default.nix
@@ -12,8 +12,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib libiconv ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";
-
   meta = {
     description = "Simple .odt to .txt converter";
     homepage = http://stosberg.net/odt2txt;
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
index acf657d2292c..9946da614c71 100644
--- a/pkgs/tools/text/recode/default.nix
+++ b/pkgs/tools/text/recode/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, python, perl, intltool, flex, autoreconfHook,
-texinfo, libiconv }:
+{ stdenv, fetchFromGitHub, python, perl, intltool, flex, autoreconfHook
+, texinfo, libiconv, libintl }:
 
 stdenv.mkDerivation rec {
   name = "recode-3.7-2fd838565";
@@ -12,15 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ python perl intltool flex texinfo autoreconfHook libiconv ];
+  buildInputs = [ libintl ];
 
   preAutoreconf = ''
     # fix build with new automake, https://bugs.gentoo.org/show_bug.cgi?id=419455
     substituteInPlace Makefile.am --replace "ACLOCAL = ./aclocal.sh @ACLOCAL@" ""
     sed -i '/^AM_C_PROTOTYPES/d' configure.ac
     substituteInPlace src/Makefile.am --replace "ansi2knr" ""
-  ''
-  + stdenv.lib.optionalString stdenv.isDarwin ''
-    export LDFLAGS=-lintl
   '';
 
   #doCheck = true; # doesn't work yet
diff --git a/pkgs/tools/text/unrtf/default.nix b/pkgs/tools/text/unrtf/default.nix
index c1b4aa1cf2c6..361b6782526b 100644
--- a/pkgs/tools/text/unrtf/default.nix
+++ b/pkgs/tools/text/unrtf/default.nix
@@ -19,8 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake ];
 
-  buildInputs = [ ] ++ stdenv.lib.optional stdenv.isDarwin libiconv;
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";
+  buildInputs = [ libiconv ];
 
   preConfigure = "./bootstrap";