summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/cloud-utils/default.nix45
-rw-r--r--pkgs/tools/misc/cloud-utils/growpart-util-linux-2.26.patch88
-rw-r--r--pkgs/tools/misc/entr/default.nix4
-rw-r--r--pkgs/tools/misc/exa/default.nix36
-rw-r--r--pkgs/tools/misc/gparted/default.nix4
-rw-r--r--pkgs/tools/misc/hdf5/default.nix9
-rw-r--r--pkgs/tools/misc/ipxe/default.nix10
-rw-r--r--pkgs/tools/misc/mongodb-tools/default.nix32
-rw-r--r--pkgs/tools/misc/mongodb-tools/deps.nix155
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix8
-rw-r--r--pkgs/tools/misc/routino/default.nix27
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix2
-rw-r--r--pkgs/tools/misc/unicode/default.nix30
-rw-r--r--pkgs/tools/misc/xflux/gui.nix7
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
15 files changed, 282 insertions, 179 deletions
diff --git a/pkgs/tools/misc/cloud-utils/default.nix b/pkgs/tools/misc/cloud-utils/default.nix
index af518e7efa98..9894813d9556 100644
--- a/pkgs/tools/misc/cloud-utils/default.nix
+++ b/pkgs/tools/misc/cloud-utils/default.nix
@@ -1,27 +1,34 @@
-{ stdenv, fetchurl, makeWrapper, gawk, gnused, utillinux }:
+{ stdenv, fetchurl, makeWrapper
+, gawk, gnused, utillinux, file
+, wget, python3, qemu, euca2ools
+, e2fsprogs, cdrkit }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   # NOTICE: if you bump this, make sure to run
   # $ nix-build nixos/release-combined.nix -A nixos.tests.ec2-nixops
-  name = "cloud-utils-0.29";
+  # growpart is needed in initrd in nixos/modules/virtualisation/grow-partition.nix
+  name = "cloud-utils-${version}";
+  version = "0.30";
   src = fetchurl {
-    url = "https://launchpad.net/cloud-utils/trunk/0.29/+download/cloud-utils-0.29.tar.gz";
-    sha256 = "0z15gs8gmpy5gqxl7yiyjj7a6s8iw44djj6axvbci627b9pvd8cy";
+    url = "https://launchpad.net/cloud-utils/trunk/0.3/+download/cloud-utils-${version}.tar.gz";
+    sha256 = "19ca9ckwwsvlqrjz19bc93rq4gv3y4ak7551li2qk95caqyxsq3k";
   };
-  buildInputs = [ makeWrapper ];
-  buildPhase = ''
-    mkdir -p $out/bin
-    cp bin/growpart $out/bin/growpart
-    sed -i 's|awk|gawk|' $out/bin/growpart
-    sed -i 's|sed|gnused|' $out/bin/growpart
-    ln -s sed $out/bin/gnused
-    wrapProgram $out/bin/growpart --prefix PATH : "${stdenv.lib.makeBinPath [ gnused gawk utillinux ]}:$out/bin"
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python3 ];
+  installFlags = [ "LIBDIR=$(out)/lib" "BINDIR=$(out)/bin" "MANDIR=$(out)/man/man1" "DOCDIR=$(out)/doc" ];
+
+  # according to https://packages.ubuntu.com/source/zesty/cloud-utils
+  binDeps = [
+    wget e2fsprogs file gnused gawk utillinux qemu euca2ools cdrkit
+  ];
+
+  postFixup = ''
+    for i in $out/bin/*; do
+      wrapProgram $i --prefix PATH : "${stdenv.lib.makeBinPath binDeps}:$out/bin"
+    done
   '';
-  dontInstall = true;
-  dontPatchShebangs = true;
-  dontStrip = true;
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
+  dontBuild = true;
+
+  meta.platforms = stdenv.lib.platforms.unix;
 }
diff --git a/pkgs/tools/misc/cloud-utils/growpart-util-linux-2.26.patch b/pkgs/tools/misc/cloud-utils/growpart-util-linux-2.26.patch
deleted file mode 100644
index c782c2d7e4bd..000000000000
--- a/pkgs/tools/misc/cloud-utils/growpart-util-linux-2.26.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 1895d10a7539d055a4e0206af1e7a9e5ea32a4f7 Mon Sep 17 00:00:00 2001
-From: Juerg Haefliger <juerg.haefliger@hp.com>
-Date: Wed, 25 Mar 2015 13:59:20 +0100
-Subject: [PATCH] Support new sfdisk version 2.26
-
-The sfdisk usage with version 2.26 changed. Specifically, the option
---show-pt-geometry and functionality for CHS have been removed.
-Also, restoring a backup MBR now needs to be done using dd.
----
- bin/growpart | 28 ++++++++++------------------
- 1 file changed, 10 insertions(+), 18 deletions(-)
-
-diff --git a/bin/growpart b/bin/growpart
-index 595c40b..d4c995b 100755
---- a/bin/growpart
-+++ b/bin/growpart
-@@ -28,7 +28,6 @@ PART=""
- PT_UPDATE=false
- DRY_RUN=0
- 
--MBR_CHS=""
- MBR_BACKUP=""
- GPT_BACKUP=""
- _capture=""
-@@ -133,7 +132,8 @@ bad_Usage() {
- }
- 
- mbr_restore() {
--	sfdisk --no-reread "${DISK}" ${MBR_CHS} -I "${MBR_BACKUP}"
-+	dd if="${MBR_BACKUP}-${DISK#/dev/}-0x00000000.bak" of="${DISK}" bs=1 \
-+		conv=notrunc
- }
- 
- sfdisk_worked_but_blkrrpart_failed() {
-@@ -148,34 +148,26 @@ sfdisk_worked_but_blkrrpart_failed() {
- 
- mbr_resize() {
- 	RESTORE_HUMAN="${TEMP_D}/recovery"
--	MBR_BACKUP="${TEMP_D}/orig.save"
-+	MBR_BACKUP="${TEMP_D}/backup"
- 
- 	local change_out=${TEMP_D}/change.out
- 	local dump_out=${TEMP_D}/dump.out
- 	local new_out=${TEMP_D}/new.out
- 	local dump_mod=${TEMP_D}/dump.mod
--	local tmp="${TEMP_D}/tmp.out"
--	local err="${TEMP_D}/err.out"
- 
--	local _devc cyl _w1 heads _w2 sectors _w3 tot dpart
-+	local tot dpart
- 	local pt_start pt_size pt_end max_end new_size change_info
- 
--	# --show-pt-geometry outputs something like
--	#     /dev/sda: 164352 cylinders, 4 heads, 32 sectors/track
--	rqe sfd_geom sfdisk "${DISK}" --show-pt-geometry >"${tmp}" &&
--		read _devc cyl _w1 heads _w2 sectors _w3 <"${tmp}" &&
--		MBR_CHS="-C ${cyl} -H ${heads} -S ${sectors}" ||
--		fail "failed to get CHS from ${DISK}"
-+	tot=$(sfdisk --list "${DISK}" | awk '{ print $(NF-1) ; exit }') ||
-+		fail "failed to get total number of sectors from ${DISK}"
- 
--	tot=$((${cyl}*${heads}*${sectors}))
-+	debug 1 "total number of sectors of ${DISK} is ${tot}"
- 
--	debug 1 "geometry is ${MBR_CHS}. total size=${tot}"
--	rqe sfd_dump sfdisk ${MBR_CHS} --unit=S --dump "${DISK}" \
-+	rqe sfd_dump sfdisk --dump "${DISK}" \
- 		>"${dump_out}" ||
- 		fail "failed to dump sfdisk info for ${DISK}"
--
- 	{
--		echo "## sfdisk ${MBR_CHS} --unit=S --dump ${DISK}"
-+		echo "## sfdisk --dump ${DISK}"
- 		cat "${dump_out}"
- 	}  >"${RESTORE_HUMAN}"
- 	[ $? -eq 0 ] || fail "failed to save sfdisk -d output"
-@@ -237,7 +229,7 @@ mbr_resize() {
- 		exit 0
- 	fi
- 
--	LANG=C sfdisk --no-reread "${DISK}" ${MBR_CHS} --force \
-+	LANG=C sfdisk --no-reread "${DISK}" --force \
- 		-O "${MBR_BACKUP}" <"${new_out}" >"${change_out}" 2>&1
- 	ret=$?
- 	[ $ret -eq 0 ] || RESTORE_FUNC="mbr_restore"
--- 
-2.1.4
-
diff --git a/pkgs/tools/misc/entr/default.nix b/pkgs/tools/misc/entr/default.nix
index 582e01c6f2fe..d37655134c55 100644
--- a/pkgs/tools/misc/entr/default.nix
+++ b/pkgs/tools/misc/entr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "entr-${version}";
-  version = "3.8";
+  version = "3.9";
 
   src = fetchurl {
     url = "http://entrproject.org/code/${name}.tar.gz";
-    sha256 = "1g969gw92q8pd3zfbx37w14l92xd3nzi24083x47dns8v69ygcgb";
+    sha256 = "0xk8y8asy0wxi5jx03c521p9919gjr8053lxpfzn83jkmqc8zmq2";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index 110125727bf0..488f7482b154 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -2,34 +2,17 @@
 
 with rustPlatform;
 
-let
-  # check for updates
-  zoneinfo_compiled = fetchFromGitHub {
-    owner = "rust-datetime";
-    repo = "zoneinfo-compiled";
-    rev = "f56921ea5e9f7cf065b1480ff270a1757c1f742f";
-    sha256 = "1xmw7c5f5n45lkxnyxp4llfv1bnqhc876w98165ccdbbiylfkw26";
-  };
-  cargoPatch = ''
-    # use non-git dependencies
-    patch Cargo.toml <<EOF
-    46c46
-    < git = "https://github.com/rust-datetime/zoneinfo-compiled.git"
-    ---
-    > path = "${zoneinfo_compiled}"
-    EOF
-  '';
-in buildRustPackage rec {
+buildRustPackage rec {
   name = "exa-${version}";
-  version = "0.7.0";
+  version = "0.8.0";
 
-  depsSha256 = "0j320hhf2vqaha137pjj4pyiw6d3p5h3nhy3pl9vna1g5mnl1sn7";
+  depsSha256 = "0yz41prkjs5rmvdhr9k58a52l7hvwy5mfg8rcpsq4ybgf601lja2";
 
   src = fetchFromGitHub {
     owner = "ogham";
     repo = "exa";
     rev = "v${version}";
-    sha256 = "0i9psgna2wwv9qyw9cif4qznqiyi16vl763hpm2yr195aj700339";
+    sha256 = "0jy11a3xfnfnmyw1kjmv4ffavhijs8c940kw24vafklnacx5n88m";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
@@ -38,15 +21,6 @@ in buildRustPackage rec {
   # Some tests fail, but Travis ensures a proper build
   doCheck = false;
 
-  cargoUpdateHook = ''
-    ${cargoPatch}
-  '';
-  cargoDepsHook = ''
-    pushd $sourceRoot
-    ${cargoPatch}
-    popd
-  '';
-
   meta = with stdenv.lib; {
     description = "Replacement for 'ls' written in Rust";
     longDescription = ''
@@ -57,7 +31,7 @@ in buildRustPackage rec {
       for a directory, or recursing into directories with a tree view. exa is
       written in Rust, so it’s small, fast, and portable.
     '';
-    homepage = http://the.exa.website;
+    homepage = https://the.exa.website;
     license = licenses.mit;
     maintainer = [ maintainers.ehegnes ];
   };
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 67e5a7848b2e..76bfb8c661ed 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -4,10 +4,10 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-0.28.1";
+  name = "gparted-0.29.0";
 
   src = fetchurl {
-    sha256 = "0cyk8lpimm6wani8khw0szwqkgw5wpq2mfnfxkbgfm2774a1z2bn";
+    sha256 = "1kf3ly7m3bikyzapjw8q1rlia0kg5zzgp59akhabx1rnnimvyl12";
     url = "mirror://sourceforge/gparted/${name}.tar.gz";
   };
 
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index eb29e7d914c5..1b979bae0900 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -1,5 +1,7 @@
 { stdenv
 , fetchurl
+, gcc
+, removeReferencesTo
 , cpp ? false
 , gfortran ? null
 , zlib ? null
@@ -30,6 +32,8 @@ stdenv.mkDerivation rec {
     inherit mpi;
   };
 
+  nativeBuildInputs = [ removeReferencesTo ];
+
   buildInputs = []
     ++ optional (gfortran != null) gfortran
     ++ optional (szip != null) szip;
@@ -47,6 +51,10 @@ stdenv.mkDerivation rec {
 
   patches = [./bin-mv.patch];
 
+  postInstall = ''
+    find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
+  '';
+
   meta = {
     description = "Data model, library, and file format for storing and managing data";
     longDescription = ''
@@ -58,5 +66,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.free; # BSD-like
     homepage = https://www.hdfgroup.org/HDF5/;
     platforms = stdenv.lib.platforms.unix;
+    broken = (gfortran != null) && stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix
index 6cd451264ab4..2d36ad17eec7 100644
--- a/pkgs/tools/misc/ipxe/default.nix
+++ b/pkgs/tools/misc/ipxe/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchgit, perl, cdrkit, syslinux, xz, openssl }:
 
 let
-  date = "20160831";
-  rev = "827dd1bfee67daa683935ce65316f7e0f057fe1c";
+  date = "20170922";
+  rev = "74d90b33f8490adcee2026ece18d8411d93b6a39";
 in
 
 stdenv.mkDerivation {
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://git.ipxe.org/ipxe.git;
-    sha256 = "11w8b0vln3skfn8r1cvzngslz12njdkwmnacyq3qffb96k2dn2ww";
+    sha256 = "12ijrq451fj2x3i7c7xjlxig5mwbhmgzqjvmfl2sza953vfbk4vw";
     inherit rev;
   };
 
@@ -40,6 +40,10 @@ stdenv.mkDerivation {
   installPhase = ''
     mkdir -p $out
     cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn bin/undionly.kpxe $out
+
+    # Some PXE constellations especially with dnsmasq are looking for the file with .0 ending
+    # let's provide it as a symlink to be compatible in this case.
+    ln -s undionly.kpxe $out/undionly.kpxe.0
   '';
 
   meta = with stdenv.lib;
diff --git a/pkgs/tools/misc/mongodb-tools/default.nix b/pkgs/tools/misc/mongodb-tools/default.nix
index f67fd383f18d..7e24c955a806 100644
--- a/pkgs/tools/misc/mongodb-tools/default.nix
+++ b/pkgs/tools/misc/mongodb-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, openssl_1_0_2, pkgconfig, libpcap }:
 
 let
   tools = [
@@ -6,9 +6,12 @@ let
     "mongooplog" "mongorestore" "mongostat" "mongotop"
   ];
 in
+
+with stdenv.lib;
+
 buildGoPackage rec {
   name = "mongo-tools-${version}";
-  version = "3.0.12";
+  version = "3.5.13";
   rev = "r${version}";
 
   goPackagePath = "github.com/mongodb/mongo-tools";
@@ -18,20 +21,27 @@ buildGoPackage rec {
     inherit rev;
     owner = "mongodb";
     repo = "mongo-tools";
-    sha256 = "142vxgniri1mfy2xmfgxhbdp6k6h8c5milv454krv1b51v43hsbm";
+    sha256 = "00klm4pyx5k39nn4pmfrpnkqxdhbzm7lprgwxszpirzrarh2g164";
   };
 
   goDeps = ./deps.nix;
 
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ openssl_1_0_2 libpcap ];
+
   # Mongodb incorrectly names all of their binaries main
   # Let's work around this with our own installer
-  preInstall = ''
-    mkdir -p $bin/bin
-  '' + toString (map (t: ''
-      go install $goPackagePath/${t}/main
-      mv go/bin/main $bin/bin/${t}
-  ''
-  ) tools) + ''  
-    rm -r go/bin
+  buildPhase = ''
+    runHook preBuild
+    ${stdenv.lib.concatMapStrings (t: ''
+      go build -o "$bin/bin/${t}" -tags ssl -ldflags "-s -w" $goPackagePath/${t}/main
+    '') tools}
+    runHook postBuild
   '';
+
+  meta = {
+    homepage = https://github.com/mongodb/mongo-tools;
+    description = "Tools for the MongoDB";
+    license = licenses.asl20;
+  };
 }
diff --git a/pkgs/tools/misc/mongodb-tools/deps.nix b/pkgs/tools/misc/mongodb-tools/deps.nix
index 437dcd649373..30de006db6f7 100644
--- a/pkgs/tools/misc/mongodb-tools/deps.nix
+++ b/pkgs/tools/misc/mongodb-tools/deps.nix
@@ -1,11 +1,20 @@
 [
   {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "314a259e304ff91bd6985da2a7149bbf91237993";
+      sha256 = "0vya62c3kmhmqx6awlxx8hc84987xkym9rhs0q28vlhwk9kczdaa";
+    };
+  }
+  {
     goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "575fdbe86e5dd89229707ebec0575ce7d088a4a6";
-      sha256 = "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa";
+      url = "https://github.com/golang/crypto";
+      rev = "1f22c0103821b9390939b6776727195525381532";
+      sha256 = "1acy12f396sr3lrnbcnym5q72qnlign5bagving41qijzjnc219m";
     };
   }
   {
@@ -13,17 +22,62 @@
     fetch = {
       type = "git";
       url = "https://github.com/howeyc/gopass";
-      rev = "2c70fa70727c953c51695f800f25d6b44abb368e";
-      sha256 = "152lrkfxk205rlxiign0w5wb0fmfh910yz4jhlv4f4l1qr1h2lx8";
+      rev = "bf9dde6d0d2c004a008c27aaee91170c786f6db8";
+      sha256 = "1jxzyfnqi0h1fzlsvlkn10bncic803bfhslyijcxk55mgh297g45";
     };
   }
   {
     goPackagePath = "gopkg.in/mgo.v2";
     fetch = {
       type = "git";
-      url = "https://gopkg.in/mgo.v2";
-      rev = "c6a7dce14133ccac2dcac3793f1d6e2ef048503a";
-      sha256 = "0rg232q1bkq3y3kd5816hgk1jpf7i38aha5q5ia7j6p9xashz7vj";
+      url = "https://github.com/10gen/mgo";
+      rev = "39b4000d99037e917f3a3b9d2dcab667a9ef284a";
+      sha256 = "1m0xgd3y32g15fhl204g2caarfi5rn41m8pyym0i2gl3jnv5zw99";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/gopacket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gopacket";
+      rev = "93b782132903d1846aab74cb1f62e6138564949f";
+      sha256 = "0l5m5a8dnqbkhphyfq7anj5zv59s74q2l7i6w9r7xwysfiqyq335";
+    };
+  }
+  {
+    goPackagePath = "github.com/patrickmn/go-cache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/patrickmn/go-cache";
+      rev = "1881a9bccb818787f68c52bfba648c6cf34c34fa";
+      sha256 = "1nd0kqijx6mrxb8wlh20bx73mwj0fqzla2sr68y6j6lz3fsy1fw2";
+    };
+  }
+  {
+    goPackagePath = "github.com/spacemonkeygo/openssl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/10gen/openssl";
+      rev = "2692b9f6fa95e72c75f8d9ba76e49c5dfd2cf8e4";
+      sha256 = "16x2mx51977jrqw8d9hqhqmx892v2qf1k5xb01hhfklh58f527k2";
+    };
+  }
+  {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "8ddce2a84170772b95dd5d576c48d517b22cac63";
+      sha256 = "11rp9wbzkd71640rq0nwmgsddskx3qac8wzqz71ksdb7ixjj5fmj";
+    };
+  }
+  {
+    goPackagePath = "github.com/spacemonkeygo/spacelog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spacemonkeygo/spacelog";
+      rev = "f936fb050dc6b5fe4a96b485a6f069e8bdc59aeb";
+      sha256 = "00an6zlhjk5l0vk1zjzshhswsd0h4syi48n50hv0fcnbmpxc5hv2";
     };
   }
   {
@@ -36,12 +90,93 @@
     };
   }
   {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "8ddce2a84170772b95dd5d576c48d517b22cac63";
+      sha256 = "11rp9wbzkd71640rq0nwmgsddskx3qac8wzqz71ksdb7ixjj5fmj";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "287b4346dc4e71a038c346375a9d572453bc469b";
+      sha256 = "1nw9j9aircra68lbkp5bq4l8ayq4g3fvbb2x8qd2hg0vwgn5yaij";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "bf58a9a1291224109919756b4dcc469c670cc7e4";
+      sha256 = "1k8k6vvlpl5a19dbrywxjmcia36macjbajx2hb6ci64rdfyf5kz5";
+    };
+  }
+  {
+    goPackagePath = "github.com/jacobsa/oglematchers";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jacobsa/oglematchers";
+      rev = "3ecefc49db07722beca986d9bb71ddd026b133f0";
+      sha256 = "0vrk5sfs1ymkg0gv5n5dn9x0kqiaw8gaapljj8q75mgrr1p5149y";
+    };
+  }
+  {
+    goPackagePath = "github.com/3rf/mongo-lint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/3rf/mongo-lint";
+      rev = "3550fdcf1f43b89aaeabaa4559eaae6dc4407e42";
+      sha256 = "19b60a3i6kzssd15dg57y4bg49sw41idrsjdi8vr4j5lr5d7gviv";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "d6bea18f789704b5f83375793155289da36a3c7f";
+      sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs";
+    };
+  }
+  {
+    goPackagePath = "github.com/10gen/escaper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/10gen/escaper";
+      rev = "17fe61c658dcbdcbf246c783f4f7dc97efde3a8b";
+      sha256 = "1iw86lg8ad5gdm46ryf4v431ix834l52lrjvcahq3c4dw1ylnbvl";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/snappy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/snappy";
+      rev = "d9eb7a3d35ec988b8585d4a0068e462c27d28380";
+      sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn";
+    };
+  }
+  {
+    goPackagePath = "github.com/nsf/termbox-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nsf/termbox-go";
+      rev = "0723e7c3d0a317dea811f0fbe4d6edd81908c971";
+      sha256 = "1ak35nhlgjpbpnh7v9qvjyfsq52liz3niqfqva76p7a68pblwbr7";
+    };
+  }
+  {
     goPackagePath = "github.com/jessevdk/go-flags";
     fetch = {
       type = "git";
       url = "https://github.com/jessevdk/go-flags";
-      rev = "1b89bf73cd2c3a911d7b2a279ab085c4a18cf539";
-      sha256 = "027nglc5xx1cm03z9sisg0iqrhwcj6gh5z254rrpl8p4fwrxx680";
+      rev = "97448c91aac742cbca3d020b3e769013a420a06f";
+      sha256 = "0fv3yxvq8m3639a279hq4pf0c52ngqfl5n1vklcfympndrb7zjzj";
     };
   }
 ]
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
index 1acdf6d7ddb8..56684848ebaa 100644
--- a/pkgs/tools/misc/mpdscribble/default.nix
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -10,12 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "0hgb7xh3w455m00lpldwkyrc5spjn3q1pl2ry3kf7w3hiigjpphw";
   };
 
-  buildInputs = [ mpd_clientlib curl glib pkgconfig ];
-
-  preConfigure = ''
-    export LIBMPDCLIENT_LIBS=${mpd_clientlib}/lib/libmpdclient.so.${mpd_clientlib.majorVersion}.0.${mpd_clientlib.minorVersion}
-    export LIBMPDCLIENT_CFLAGS=${mpd_clientlib}
-  '';
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ mpd_clientlib curl glib ];
 
   meta = with stdenv.lib; {
     description = "A Music Player Daemon (MPD) client which submits information about tracks beeing played to a scrobbler (e.g. last.fm)";
diff --git a/pkgs/tools/misc/routino/default.nix b/pkgs/tools/misc/routino/default.nix
new file mode 100644
index 000000000000..e3e174e0204a
--- /dev/null
+++ b/pkgs/tools/misc/routino/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, perl, zlib, bzip2 }:
+
+stdenv.mkDerivation rec {
+  name = "routino-${version}";
+  version = "3.2";
+
+  src = fetchurl {
+    url = "http://routino.org/download/${name}.tgz";
+    sha256 = "0lkmpi8gn7qf40cx93jcp7nxa9dfwi1d6rjrhcqbdymszzm33972";
+  };
+
+  nativeBuildInputs = [ perl ];
+
+  buildInputs = [ zlib bzip2 ];
+
+  outputs = [ "out" "doc" ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.routino.org/;
+    description = "OpenStreetMap Routing Software";
+    license = licenses.agpl3;
+    maintainter = with maintainers; [ dotlambda ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index fbef31fb5467..72d45c90f106 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ wrapGAppsHook ];
 
   pythonPath = with pythonPackages;
-    [ pycups pycurl dbus-python pygobject3 requests pycairo pythonPackages.pycurl ];
+    [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ];
 
   configureFlags =
     [ "--with-udev-rules"
diff --git a/pkgs/tools/misc/unicode/default.nix b/pkgs/tools/misc/unicode/default.nix
new file mode 100644
index 000000000000..d2a4ed39e9ac
--- /dev/null
+++ b/pkgs/tools/misc/unicode/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, fetchurl, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  name = "unicode-${version}";
+  version = "2.5";
+
+  src = fetchFromGitHub {
+    owner = "garabik";
+    repo = "unicode";
+    rev = "v${version}";
+    sha256 = "0vg1zshlzgdva8gzw6fya28fc4jhypjkj743x3q0yabx6934k0g2";
+  };
+
+  ucdtxt = fetchurl {
+    url = http://www.unicode.org/Public/10.0.0/ucd/UnicodeData.txt;
+    sha256 = "1cfak1j753zcrbgixwgppyxhm4w8vda8vxhqymi7n5ljfi6kwhjj";
+  };
+
+  postFixup = ''
+    substituteInPlace "$out/bin/.unicode-wrapped" \
+      --replace "/usr/share/unicode/UnicodeData.txt" "$ucdtxt"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Display unicode character properties";
+    homepage = https://github.com/garabik/unicode;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.woffs ];
+  };
+}
diff --git a/pkgs/tools/misc/xflux/gui.nix b/pkgs/tools/misc/xflux/gui.nix
index 1fd3b3d8371f..d8959687945a 100644
--- a/pkgs/tools/misc/xflux/gui.nix
+++ b/pkgs/tools/misc/xflux/gui.nix
@@ -4,13 +4,13 @@
 }:
 pythonPackages.buildPythonApplication rec {
   name = "xflux-gui-${version}";
-  version = "2016-09-21";
+  version = "1.1.10";
 
   src = fetchFromGitHub {
     repo = "xflux-gui";
     owner = "xflux-gui";
-    rev = "0b56204477494b473a390e8b0db043437ec14f32";
-    sha256 = "15pr8f31jnhqjlpvasnj6cmm6hw5gljphh2pxzav3zd9bp4yl56r";
+    rev = "v${version}";
+    sha256 = "1k67qg9y4c0n9ih0syx81ixbdl2x89gd4arwh71316cshskn0rc8";
   };
 
   propagatedBuildInputs = with pythonPackages; [
@@ -32,7 +32,6 @@ pythonPackages.buildPythonApplication rec {
 
   postFixup = ''
     wrapGAppsHook
-    makeWrapperArgs="''${gappsWrapperArgs[@]}"
     wrapPythonPrograms
     patchPythonScript $out/${pythonPackages.python.sitePackages}/fluxgui/fluxapp.py
   '';
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 3af0c5435604..dc5f6fb03c0c 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -15,11 +15,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2017.09.15";
+  version = "2017.10.01";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "1kw8pqzvhbpyxcz2jb692j4cgzd3vmd81mra09xvpzkq974jkx7f";
+    sha256 = "047zinsczn6c96fzkarlb29y7sjwyh84nxlpfpa6mi4rn090wkqb";
   };
 
   nativeBuildInputs = [ makeWrapper ];