summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/go/1.11.nix125
-rw-r--r--pkgs/development/compilers/vala/default.nix14
-rw-r--r--pkgs/development/go-modules/generic/default.nix29
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix12
-rw-r--r--pkgs/development/interpreters/spidermonkey/60.nix56
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix4
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix4
-rw-r--r--pkgs/development/libraries/appstream/default.nix4
-rw-r--r--pkgs/development/libraries/arguments/default.nix1
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix4
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix8
-rw-r--r--pkgs/development/libraries/atk/default.nix16
-rw-r--r--pkgs/development/libraries/bamf/default.nix4
-rw-r--r--pkgs/development/libraries/clutter-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/clutter/default.nix4
-rw-r--r--pkgs/development/libraries/cmark/default.nix3
-rw-r--r--pkgs/development/libraries/cogl/default.nix4
-rw-r--r--pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch12
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix25
-rw-r--r--pkgs/development/libraries/dee/default.nix4
-rw-r--r--pkgs/development/libraries/farstream/default.nix4
-rw-r--r--pkgs/development/libraries/flatpak/default.nix4
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix5
-rw-r--r--pkgs/development/libraries/fribidi/default.nix8
-rw-r--r--pkgs/development/libraries/gcab/default.nix4
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix47
-rw-r--r--pkgs/development/libraries/geis/default.nix4
-rw-r--r--pkgs/development/libraries/geoclue/default.nix6
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix14
-rw-r--r--pkgs/development/libraries/glib/default.nix64
-rw-r--r--pkgs/development/libraries/glib/fix-gio-launch-desktop-path.patch11
-rw-r--r--pkgs/development/libraries/gmime/2.nix4
-rw-r--r--pkgs/development/libraries/gmime/3.nix4
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch6
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch67
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix33
-rw-r--r--pkgs/development/libraries/gobject-introspection/macos-shared-library.patch36
-rw-r--r--pkgs/development/libraries/gobject-introspection/test_shlibs.patch50
-rw-r--r--pkgs/development/libraries/goocanvas/2.x.nix4
-rw-r--r--pkgs/development/libraries/granite/default.nix4
-rw-r--r--pkgs/development/libraries/gsettings-qt/default.nix4
-rw-r--r--pkgs/development/libraries/gsignond/default.nix4
-rw-r--r--pkgs/development/libraries/gsignond/plugins/lastfm.nix4
-rw-r--r--pkgs/development/libraries/gsignond/plugins/mail.nix4
-rw-r--r--pkgs/development/libraries/gsignond/plugins/oauth.nix4
-rw-r--r--pkgs/development/libraries/gsignond/plugins/sasl.nix4
-rw-r--r--pkgs/development/libraries/gspell/default.nix4
-rw-r--r--pkgs/development/libraries/gssdp/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix4
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix4
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix8
-rw-r--r--pkgs/development/libraries/gtk-mac-integration/default.nix4
-rw-r--r--pkgs/development/libraries/gtksourceview/3.x.nix8
-rw-r--r--pkgs/development/libraries/gtksourceview/4.x.nix10
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix4
-rw-r--r--pkgs/development/libraries/gupnp-av/default.nix4
-rw-r--r--pkgs/development/libraries/gupnp-dlna/default.nix4
-rw-r--r--pkgs/development/libraries/gupnp-igd/default.nix4
-rw-r--r--pkgs/development/libraries/gupnp/default.nix4
-rw-r--r--pkgs/development/libraries/gusb/default.nix4
-rw-r--r--pkgs/development/libraries/gvfs/default.nix82
-rw-r--r--pkgs/development/libraries/ilmbase/cross.patch35
-rw-r--r--pkgs/development/libraries/ilmbase/default.nix7
-rw-r--r--pkgs/development/libraries/json-glib/default.nix18
-rw-r--r--pkgs/development/libraries/jsonrpc-glib/default.nix8
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix2
-rw-r--r--pkgs/development/libraries/keybinder/default.nix4
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix4
-rw-r--r--pkgs/development/libraries/lasso/default.nix4
-rw-r--r--pkgs/development/libraries/libaccounts-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix4
-rw-r--r--pkgs/development/libraries/libblockdev/default.nix4
-rw-r--r--pkgs/development/libraries/libchamplain/default.nix4
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix1
-rw-r--r--pkgs/development/libraries/libdazzle/default.nix15
-rw-r--r--pkgs/development/libraries/libdbusmenu/default.nix4
-rw-r--r--pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--pkgs/development/libraries/libgrss/default.nix4
-rw-r--r--pkgs/development/libraries/libgtop/default.nix4
-rw-r--r--pkgs/development/libraries/libgudev/default.nix4
-rw-r--r--pkgs/development/libraries/libhandy/default.nix54
-rw-r--r--pkgs/development/libraries/libhttpseverywhere/default.nix7
-rw-r--r--pkgs/development/libraries/libical/default.nix5
-rw-r--r--pkgs/development/libraries/libindicate/default.nix4
-rw-r--r--pkgs/development/libraries/libinfinity/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix21
-rw-r--r--pkgs/development/libraries/liblangtag/default.nix4
-rw-r--r--pkgs/development/libraries/libmanette/default.nix4
-rw-r--r--pkgs/development/libraries/libmx/default.nix4
-rw-r--r--pkgs/development/libraries/libnotify/default.nix4
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libpsl/default.nix11
-rw-r--r--pkgs/development/libraries/librsvg/default.nix8
-rw-r--r--pkgs/development/libraries/libsecret/default.nix27
-rw-r--r--pkgs/development/libraries/libsignon-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libskk/default.nix4
-rw-r--r--pkgs/development/libraries/libsoup/default.nix30
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix1
-rw-r--r--pkgs/development/libraries/libunique/3.x.nix4
-rw-r--r--pkgs/development/libraries/libunique/default.nix2
-rw-r--r--pkgs/development/libraries/libunity/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libwebp/default.nix4
-rw-r--r--pkgs/development/libraries/libwnck/3.x.nix4
-rw-r--r--pkgs/development/libraries/libxklavier/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix6
-rw-r--r--pkgs/development/libraries/nghttp2/fix-stream-operator.patch63
-rw-r--r--pkgs/development/libraries/nspr/default.nix5
-rw-r--r--pkgs/development/libraries/nss/default.nix8
-rw-r--r--pkgs/development/libraries/openssl/1.0.2/nix-ssl-cert-file.patch16
-rw-r--r--pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs-darwin.patch (renamed from pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch)0
-rw-r--r--pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs.patch (renamed from pkgs/development/libraries/openssl/use-etc-ssl-certs.patch)0
-rw-r--r--pkgs/development/libraries/openssl/1.1/nix-ssl-cert-file.patch15
-rw-r--r--pkgs/development/libraries/openssl/darwin-arch.patch12
-rw-r--r--pkgs/development/libraries/openssl/default.nix25
-rw-r--r--pkgs/development/libraries/openssl/nix-ssl-cert-file.patch14
-rw-r--r--pkgs/development/libraries/osm-gps-map/default.nix4
-rw-r--r--pkgs/development/libraries/pagmo2/default.nix4
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/pixman/default.nix17
-rw-r--r--pkgs/development/libraries/polkit/default.nix6
-rw-r--r--pkgs/development/libraries/poppler/0.61.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix4
-rw-r--r--pkgs/development/libraries/science/biology/EBTKS/default.nix2
-rw-r--r--pkgs/development/libraries/science/biology/bicpl/default.nix1
-rw-r--r--pkgs/development/libraries/science/biology/elastix/default.nix2
-rw-r--r--pkgs/development/libraries/science/biology/nifticlib/default.nix1
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/scalapack/default.nix5
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix2
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/analyzer.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix14
-rw-r--r--pkgs/development/libraries/template-glib/default.nix8
-rw-r--r--pkgs/development/libraries/ti-rpc/default.nix1
-rw-r--r--pkgs/development/libraries/uhttpmock/default.nix4
-rw-r--r--pkgs/development/libraries/umockdev/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/2.20.nix83
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix (renamed from pkgs/development/libraries/webkitgtk/2.22.nix)4
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix22
-rw-r--r--pkgs/development/python-modules/docutils/default.nix6
-rw-r--r--pkgs/development/python-modules/dogtail/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-socketio/default.nix33
-rw-r--r--pkgs/development/python-modules/goocalendar/default.nix4
-rw-r--r--pkgs/development/python-modules/graph-tool/2.x.x.nix4
-rw-r--r--pkgs/development/python-modules/gst-python/default.nix4
-rw-r--r--pkgs/development/python-modules/gtimelog/default.nix2
-rw-r--r--pkgs/development/python-modules/matplotlib/2.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix4
-rw-r--r--pkgs/development/python-modules/neovim_gui/default.nix2
-rw-r--r--pkgs/development/python-modules/py3exiv2/default.nix2
-rw-r--r--pkgs/development/python-modules/py3exiv2/setup.patch6
-rw-r--r--pkgs/development/python-modules/pyatspi/default.nix4
-rw-r--r--pkgs/development/python-modules/pygdbmi/default.nix34
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix36
-rw-r--r--pkgs/development/python-modules/pyjwt/default.nix11
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix49
-rw-r--r--pkgs/development/python-modules/python-socketio/default.nix33
-rw-r--r--pkgs/development/python-modules/pythonix/default.nix4
-rw-r--r--pkgs/development/python-modules/unicorn/default.nix5
-rw-r--r--pkgs/development/python-modules/xdot/default.nix4
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix9
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix5
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh5
-rw-r--r--pkgs/development/tools/build-managers/meson/setup-hook.sh12
-rw-r--r--pkgs/development/tools/build-managers/ninja/setup-hook.sh72
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix39
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix4
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix6
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix49
-rw-r--r--pkgs/development/tools/misc/gdbgui/requirements.nix336
-rw-r--r--pkgs/development/tools/misc/pwndbg/default.nix19
-rw-r--r--pkgs/development/tools/misc/swig/3.x.nix7
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix4
-rw-r--r--pkgs/development/tools/profiling/sysprof/default.nix14
-rw-r--r--pkgs/development/tools/valadoc/default.nix4
186 files changed, 1270 insertions, 1232 deletions
diff --git a/pkgs/development/compilers/go/1.11.nix b/pkgs/development/compilers/go/1.11.nix
index ddf2eac36e1..5d4a8e84265 100644
--- a/pkgs/development/compilers/go/1.11.nix
+++ b/pkgs/development/compilers/go/1.11.nix
@@ -1,23 +1,29 @@
 { stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin
-, perl, which, pkgconfig, patch, procps, pcre, cacert, llvm, Security, Foundation }:
+, perl, which, pkgconfig, patch, procps, pcre, cacert, llvm, Security, Foundation
+, buildPackages, targetPackages }:
 
 let
 
   inherit (stdenv.lib) optionals optionalString;
 
-  clangHack = writeScriptBin "clang" ''
-    #!${stdenv.shell}
-    exec ${stdenv.cc}/bin/clang "$@" 2> >(sed '/ld: warning:.*ignoring unexpected dylib file/ d' 1>&2)
-  '';
-
   goBootstrap = runCommand "go-bootstrap" {} ''
     mkdir $out
-    cp -rf ${go_bootstrap}/* $out/
+    cp -rf ${buildPackages.go_bootstrap}/* $out/
     chmod -R u+w $out
     find $out -name "*.c" -delete
     cp -rf $out/bin/* $out/share/go/bin/
   '';
 
+  goarch = platform: {
+    "i686" = "386";
+    "x86_64" = "amd64";
+    "aarch64" = "arm64";
+    "arm" = "arm";
+    "armv5tel" = "arm";
+    "armv6l" = "arm";
+    "armv7l" = "arm";
+  }.${platform.parsed.cpu.name} or (throw "Unsupported system");
+
 in
 
 stdenv.mkDerivation rec {
@@ -31,13 +37,13 @@ stdenv.mkDerivation rec {
     sha256 = "0pk7pxfm3ij2ksdrg49jz501fr1d103zr4mjjwv821if9g279jc9";
   };
 
-  GOCACHE = "off";
-
   # perl is used for testing go vet
   nativeBuildInputs = [ perl which pkgconfig patch procps ];
   buildInputs = [ cacert pcre ]
     ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
     ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+
+
   propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
 
   hardeningDisable = [ "all" ];
@@ -131,57 +137,94 @@ stdenv.mkDerivation rec {
     substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil
   '';
 
-  GOOS = stdenv.hostPlatform.parsed.kernel.name;
-  GOARCH = {
-    "i686" = "386";
-    "x86_64" = "amd64";
-    "aarch64" = "arm64";
-    "arm" = "arm";
-    "armv5tel" = "arm";
-    "armv6l" = "arm";
-    "armv7l" = "arm";
-  }.${stdenv.hostPlatform.parsed.cpu.name} or (throw "Unsupported system");
+  GOOS = stdenv.targetPlatform.parsed.kernel.name;
+  GOARCH = goarch stdenv.targetPlatform;
+  # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
+  # Go will nevertheless build a for host system that we will copy over in
+  # the install phase.
+  GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
+  GOHOSTARCH = goarch stdenv.buildPlatform;
+
+  # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
+  # to be different from CC/CXX
+  CC_FOR_TARGET = if (stdenv.hostPlatform != stdenv.targetPlatform) then
+      "${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc"
+    else if (stdenv.buildPlatform != stdenv.targetPlatform) then
+      "${stdenv.cc.targetPrefix}cc"
+    else
+      null;
+  CXX_FOR_TARGET = if (stdenv.hostPlatform != stdenv.targetPlatform) then
+      "${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++"
+    else if (stdenv.buildPlatform != stdenv.targetPlatform) then
+      "${stdenv.cc.targetPrefix}c++"
+    else
+      null;
+
   GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
   GO386 = 387; # from Arch: don't assume sse2 on i686
   CGO_ENABLED = 1;
-  GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
   # Hopefully avoids test timeouts on Hydra
   GO_TEST_TIMEOUT_SCALE = 3;
 
-  # The go build actually checks for CC=*/clang and does something different, so we don't
-  # just want the generic `cc` here.
-  CC = if stdenv.isDarwin then "clang" else "cc";
+  # Indicate that we are running on build infrastructure
+  # Some tests assume things like home directories and users exists
+  GO_BUILDER_NAME = "nix";
 
-  configurePhase = ''
-    # Indicate that we are running on build infrastructure
-    # Some tests assume things like home directories and users exists
-    export GO_BUILDER_NAME=nix
+  GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
 
-    mkdir -p $out/share/go/bin
-    export GOROOT=$out/share/go
-    export GOBIN=$GOROOT/bin
-    export PATH=$GOBIN:$PATH
+  postConfigure = ''
+    export GOCACHE=$TMPDIR/go-cache
+    # this is compiled into the binary
+    export GOROOT_FINAL=$out/share/go
+
+    export PATH=$(pwd)/bin:$PATH
+
+    # Independent from host/target, CC should produce code for the building system.
+    export CC=${buildPackages.stdenv.cc}/bin/cc
     ulimit -a
   '';
 
-  postConfigure = optionalString stdenv.isDarwin ''
-    export PATH=${clangHack}/bin:$PATH
+  postBuild = ''
+    (cd src && ./make.bash)
   '';
 
-  installPhase = ''
-    cp -r . $GOROOT
-    ( cd $GOROOT/src && ./all.bash )
+  doCheck = stdenv.hostPlatform == stdenv.targetPlatform;
+
+  checkPhase = ''
+    runHook preCheck
+    (cd src && ./run.bash --no-rebuild)
+    runHook postCheck
   '';
 
-  preFixup = ''
-    rm -r $out/share/go/pkg/bootstrap
-    rm -r $out/share/go/pkg/obj
-    ln -s $out/share/go/bin $out/bin
+  preInstall = ''
+    rm -r pkg/{bootstrap,obj}
+    # Contains the wrong perl shebang when cross compiling,
+    # since it is not used for anything we can deleted as well.
+    rm src/regexp/syntax/make_perl_groups.pl
+  '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
+    mv bin/*_*/* bin
+    rmdir bin/*_*
+    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+      rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
+    ''}
+  '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
+    rm -rf bin/*_*
+    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+      rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
+    ''}
+  '' else "");
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $GOROOT_FINAL
+    cp -a bin pkg src lib misc api doc $GOROOT_FINAL
+    ln -s $GOROOT_FINAL/bin $out/bin
+    runHook postInstall
   '';
 
   setupHook = ./setup-hook.sh;
 
-  disallowedReferences = [ go_bootstrap ];
+  disallowedReferences = [ goBootstrap ];
 
   meta = with stdenv.lib; {
     branch = "1.11";
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index fb2d9fc535a..a721625b1f4 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -31,6 +31,8 @@ let
     ] ++ lib.optional (atLeast "0.38") graphviz
       ++ extraBuildInputs;
 
+    enableParallelBuilding = true;
+
     doCheck = false; # fails, requires dbus daemon
 
     meta = with stdenv.lib; {
@@ -64,9 +66,15 @@ in rec {
 
   vala_0_40 = generic {
     major   = "0.40";
-    minor   = "6";
-    sha256  = "1qjbwhifwwqbdg5zilvnwm4n76g8p7jwqs3fa0biw3rylzqm193d";
+    minor   = "11";
+    sha256  = "0xhm61kjdws167pafcji43s7icfvpq58lkbq3irb1jv3icjr3i8z";
+  };
+
+  vala_0_42 = generic {
+    major   = "0.42";
+    minor   = "3";
+    sha256  = "0zaq9009wqk5aah131m426a2ia0scwpjpl4npf8p7p43wv8kvisz";
   };
 
-  vala = vala_0_38;
+  vala = vala_0_42;
 }
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index 0e092473bd5..6af5f72f2b7 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -1,5 +1,5 @@
-{ go, govers, parallel, lib, fetchgit, fetchhg, fetchbzr, rsync
-, removeReferencesTo, fetchFromGitHub }:
+{ go, govers, lib, fetchgit, fetchhg, fetchbzr, rsync
+, removeReferencesTo, fetchFromGitHub, stdenv }:
 
 { name, buildInputs ? [], nativeBuildInputs ? [], passthru ? {}, preFixup ? ""
 , shellHook ? ""
@@ -78,9 +78,11 @@ go.stdenv.mkDerivation (
   (builtins.removeAttrs args [ "goPackageAliases" "disabled" ]) // {
 
   inherit name;
-  nativeBuildInputs = [ removeReferencesTo go parallel ]
+  nativeBuildInputs = [ removeReferencesTo go ]
     ++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs;
-  buildInputs = [ go ] ++ buildInputs;
+  buildInputs = buildInputs;
+
+  inherit (go) GOOS GOARCH;
 
   configurePhase = args.configurePhase or ''
     runHook preConfigure
@@ -162,12 +164,23 @@ go.stdenv.mkDerivation (
     else
       touch $TMPDIR/buildFlagsArray
     fi
-    export -f buildGoDir # parallel needs to see the function
+    export -f buildGoDir # xargs needs to see the function
     if [ -z "$enableParallelBuilding" ]; then
         export NIX_BUILD_CORES=1
     fi
-    getGoDirs "" | parallel -j $NIX_BUILD_CORES buildGoDir install
-
+    getGoDirs "" | xargs -n1 -P $NIX_BUILD_CORES bash -c 'buildGoDir install "$@"' --
+  '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+    # normalize cross-compiled builds w.r.t. native builds
+    (
+      dir=$NIX_BUILD_TOP/go/bin/${go.GOOS}_${go.GOARCH}
+      if [[ -n "$(shopt -s nullglob; echo $dir/*)" ]]; then
+        mv $dir/* $dir/..
+      fi
+      if [[ -d $dir ]]; then
+        rmdir $dir
+      fi
+    )
+  '' + ''
     runHook postBuild
   '';
 
@@ -175,7 +188,7 @@ go.stdenv.mkDerivation (
   checkPhase = args.checkPhase or ''
     runHook preCheck
 
-    getGoDirs test | parallel -j $NIX_BUILD_CORES buildGoDir test
+    getGoDirs test | xargs -n1 -P $NIX_BUILD_CORES bash -c 'buildGoDir test "$@"' --
 
     runHook postCheck
   '';
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 590f7f0d971..f0d629ad5e4 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -474,7 +474,7 @@ self: super: builtins.intersectAttrs super {
   hapistrano = addBuildTool super.hapistrano pkgs.buildPackages.git;
 
   # This propagates this to everything depending on haskell-gi-base
-  haskell-gi-base = addBuildDepend super.haskell-gi-base pkgs.gobjectIntrospection;
+  haskell-gi-base = addBuildDepend super.haskell-gi-base pkgs.gobject-introspection;
 
   # requires valid, writeable $HOME
   hatex-guide = overrideCabal super.hatex-guide (drv: {
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 4c2673589ae..5f2f4377f65 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -86041,7 +86041,7 @@ self: {
 
   "gi-girepository" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, gobjectIntrospection, haskell-gi, haskell-gi-base
+     , gi-gobject, gobject-introspection, haskell-gi, haskell-gi-base
      , haskell-gi-overloading, text, transformers
      }:
      mkDerivation {
@@ -86053,11 +86053,11 @@ self: {
          base bytestring containers gi-glib gi-gobject haskell-gi
          haskell-gi-base haskell-gi-overloading text transformers
        ];
-       libraryPkgconfigDepends = [ gobjectIntrospection ];
+       libraryPkgconfigDepends = [ gobject-introspection ];
        doHaddock = false;
        description = "GIRepository (gobject-introspection) bindings";
        license = stdenv.lib.licenses.lgpl21;
-     }) {inherit (pkgs.gnome3) gobjectIntrospection;};
+     }) {inherit (pkgs.gnome3) gobject-introspection;};
 
   "gi-glib" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, glib
@@ -99188,7 +99188,7 @@ self: {
 
   "haskell-gi" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, Cabal, containers
-     , directory, doctest, filepath, glib, gobjectIntrospection
+     , directory, doctest, filepath, glib, gobject-introspection
      , haskell-gi-base, mtl, pretty-show, process, regex-tdfa, safe
      , text, transformers, xdg-basedir, xml-conduit
      }:
@@ -99201,12 +99201,12 @@ self: {
          haskell-gi-base mtl pretty-show process regex-tdfa safe text
          transformers xdg-basedir xml-conduit
        ];
-       libraryPkgconfigDepends = [ glib gobjectIntrospection ];
+       libraryPkgconfigDepends = [ glib gobject-introspection ];
        testHaskellDepends = [ base doctest process ];
        description = "Generate Haskell bindings for GObject Introspection capable libraries";
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib; 
-         inherit (pkgs.gnome3) gobjectIntrospection;};
+         inherit (pkgs.gnome3) gobject-introspection;};
 
   "haskell-gi-base" = callPackage
     ({ mkDerivation, base, bytestring, containers, glib, text }:
diff --git a/pkgs/development/interpreters/spidermonkey/60.nix b/pkgs/development/interpreters/spidermonkey/60.nix
new file mode 100644
index 00000000000..de65006be95
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/60.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, python2, zip, which, readline, icu, zlib, nspr }:
+
+let
+  version = "60.3.0";
+in stdenv.mkDerivation rec {
+  name = "spidermonkey-${version}";
+
+  src = fetchurl {
+    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
+    sha256 = "0qak5gmkx8xm88xgnxdmj4z7sivbbvmg2v029fp9q5ms38cg6rjm";
+  };
+
+  buildInputs = [ readline icu zlib nspr ];
+  nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
+
+  patches = [
+    (fetchpatch {
+      url = https://bug1415202.bmoattachments.org/attachment.cgi?id=8926363;
+      sha256 = "082ryrvqa3lvs67v3sq9kf2jshf4qp1fpi195wffc40jdrl8fnin";
+    })
+  ];
+
+  preConfigure = ''
+    export CXXFLAGS="-fpermissive"
+    export LIBXUL_DIST=$out
+    export PYTHON="${python2.interpreter}"
+
+    # We can't build in js/src/, so create a build dir
+    mkdir obj
+    cd obj/
+    configureScript=../js/src/configure
+  '';
+
+  # We need the flags specified here for gjs:
+  # https://gitlab.gnome.org/GNOME/gnome-sdk-images/blob/bc8829439a4f1019d0c56a293ddd84e936fdf9f9/org.gnome.Sdk.json.in#L744
+  configureFlags = [
+    "--with-system-zlib"
+    "--with-system-icu"
+    "--with-intl-api"
+    "--enable-readline"
+    "--enable-shared-js"
+    "--enable-posix-nspr-emulation"
+    "--disable-jemalloc"
+    "--enable-release"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index 66d540f8d66..b42240a26c4 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, intltool, makeWrapper, shadow
-, gobjectIntrospection, polkit, systemd, coreutils, meson, dbus
+, gobject-introspection, polkit, systemd, coreutils, meson, dbus
 , ninja, python3 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig makeWrapper meson ninja python3 ];
 
-  buildInputs = [ glib intltool gobjectIntrospection polkit systemd dbus ];
+  buildInputs = [ glib intltool gobject-introspection polkit systemd dbus ];
 
   mesonFlags = [ "-Dsystemdsystemunitdir=etc/systemd/system"
                  "-Dlocalstatedir=/var" ];
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index 831d0cc0f71..9569f51ba79 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, substituteAll, pkgconfig, gettext, gtk3, glib
-, gtk-doc, libarchive, gobjectIntrospection, libxslt, pngquant
+, gtk-doc, libarchive, gobject-introspection, libxslt, pngquant
 , sqlite, libsoup, attr, acl, docbook_xsl, docbook_xml_dtd_42
 , libuuid, json-glib, meson, gperf, ninja
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib gettext sqlite libsoup
     attr acl libuuid json-glib
-    libarchive gobjectIntrospection gperf
+    libarchive gobject-introspection gperf
   ];
   propagatedBuildInputs = [ gtk3 ];
 
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index 19b82fcffa3..f53b63472cc 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchpatch, fetchFromGitHub, meson, ninja, pkgconfig, gettext
 , xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
-, libstemmer, glib, xapian, libxml2, libyaml, gobjectIntrospection
+, libstemmer, glib, xapian, libxml2, libyaml, gobject-introspection
 , pcre, itstool, gperf, vala
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson ninja pkgconfig gettext
     libxslt xmlto docbook_xsl docbook_xml_dtd_45
-    gobjectIntrospection itstool vala
+    gobject-introspection itstool vala
   ];
 
   buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml gperf ];
diff --git a/pkgs/development/libraries/arguments/default.nix b/pkgs/development/libraries/arguments/default.nix
index 60fafd60ad0..ebef604e1be 100644
--- a/pkgs/development/libraries/arguments/default.nix
+++ b/pkgs/development/libraries/arguments/default.nix
@@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
 
   #cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBICPL_DIR=${bicpl}/lib" "-DBUILD_TESTING=FALSE" ];
 
-  checkPhase = "ctest --output-on-failure";
   doCheck = false;
   # internal_volume_io.h: No such file or directory
 
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
index f1db64cc9ea..2962e099f25 100644
--- a/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -18,11 +18,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "at-spi2-atk";
-  version = "2.26.2";
+  version = "2.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0vkan52ab9vrkknnv8y4f1cspk8x7xd10qx92xk9ys71p851z2b1";
+    sha256 = "16lav8k3mcxf2hblfh95zcw41glmb92wwwwljrf10yza0h85gqg2";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig ]
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index d9251c2bdc5..cae67480964 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -4,7 +4,7 @@
 , meson
 , ninja
 , pkgconfig
-, gobjectIntrospection
+, gobject-introspection
 
 , dbus
 , glib
@@ -19,16 +19,16 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "at-spi2-core";
-  version = "2.28.0";
+  version = "2.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "11qwdxxx4jm0zj04xydlwah41axiz276dckkiql3rr0wn5x4i8j2";
+    sha256 = "0azvgdmmivfz1fki25mz582gmwvfpajcnqhlq7s53nhr7lwzax81";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ]
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection ]
     # Fixup rpaths because of meson, remove with meson-0.47
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
   buildInputs = [ dbus glib libX11 libXtst libXi ];
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index 288bd9a9dd0..b56c84f57bd 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, meson, ninja, gettext, pkgconfig, glib
-, fixDarwinDylibNames, gobjectIntrospection, gnome3
+, fixDarwinDylibNames, gobject-introspection, gnome3
 }:
 
 let
   pname = "atk";
-  version = "2.28.1";
+  version = "2.30.0";
 in
 
 stdenv.mkDerivation rec {
@@ -12,22 +12,14 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1z7laf6qwv5zsqcnj222dm5f43c6f3liil0cgx4s4s62xjk1wfnd";
+    sha256 = "0yq25iisnf0rmlg2x5ghzqk9vhf2jramb2khxqghqakz47a90kfx";
   };
 
-  patches = [
-    # darwin linker arguments https://bugzilla.gnome.org/show_bug.cgi?id=794326
-    (fetchurl {
-      url = https://bugzilla.gnome.org/attachment.cgi?id=369680;
-      sha256 = "11v8fhpsbapa04ifb2268cga398vfk1nq8i628441632zjz1diwg";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection ];
 
   propagatedBuildInputs = [
     # Required by atk.pc
diff --git a/pkgs/development/libraries/bamf/default.nix b/pkgs/development/libraries/bamf/default.nix
index b2c7bf5d644..e741305f991 100644
--- a/pkgs/development/libraries/bamf/default.nix
+++ b/pkgs/development/libraries/bamf/default.nix
@@ -1,5 +1,5 @@
 { stdenv, autoconf, automake, libtool, gnome3, which, fetchgit, libgtop, libwnck3, glib, vala, pkgconfig
-, libstartup_notification, gobjectIntrospection, gtk-doc, docbook_xsl
+, libstartup_notification, gobject-introspection, gtk-doc, docbook_xsl
 , xorgserver, dbus, python2 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     automake
     docbook_xsl
     gnome3.gnome-common
-    gobjectIntrospection
+    gobject-introspection
     gtk-doc
     libtool
     pkgconfig
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 6c895116531..d59bc5161af 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, meson, ninja
-, gobjectIntrospection, clutter, gtk3, gnome3 }:
+, gobject-introspection, clutter, gtk3, gnome3 }:
 
 let
   pname = "clutter-gtk";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   propagatedBuildInputs = [ clutter gtk3 ];
-  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection ];
 
   postBuild = "rm -rf $out/share/gtk-doc";
 
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
index 090f85554b6..7095a808540 100644
--- a/pkgs/development/libraries/clutter/default.nix
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
 , libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib
-, gobjectIntrospection, gtk3, gnome3, libinput, libgudev, libxkbcommon
+, gobject-introspection, gtk3, gnome3, libinput, libgudev, libxkbcommon
 }:
 
 let
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs =
     [ libX11 libGLU_combined libXext libXfixes libXdamage libXcomposite libXi cogl pango
-      atk json-glib gobjectIntrospection libxcb libinput libgudev libxkbcommon
+      atk json-glib gobject-introspection libxcb libinput libgudev libxkbcommon
     ];
 
   configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
diff --git a/pkgs/development/libraries/cmark/default.nix b/pkgs/development/libraries/cmark/default.nix
index fce02dac950..a7b604bc0d2 100644
--- a/pkgs/development/libraries/cmark/default.nix
+++ b/pkgs/development/libraries/cmark/default.nix
@@ -13,9 +13,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
   doCheck = !stdenv.isDarwin;
-  checkPhase = ''
+  preCheck = ''
     export LD_LIBRARY_PATH=$(readlink -f ./src)
-    CTEST_OUTPUT_ON_FAILURE=1 make test
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
index f35335e4be7..e4296810f35 100644
--- a/pkgs/development/libraries/cogl/default.nix
+++ b/pkgs/development/libraries/cogl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, libGL, glib, gdk_pixbuf, xorg, libintl
-, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland, gnome3
+, pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome3
 , mesa_noglu
 , gstreamerSupport ? true, gst_all_1 }:
 
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
 
   propagatedBuildInputs = with xorg; [
-      glib gdk_pixbuf gobjectIntrospection wayland mesa_noglu
+      glib gdk_pixbuf gobject-introspection wayland mesa_noglu
       libGL libXrandr libXfixes libXcomposite libXdamage
     ]
     ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
diff --git a/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch b/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch
new file mode 100644
index 00000000000..8662e812e99
--- /dev/null
+++ b/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch
@@ -0,0 +1,12 @@
+--- a/m4/sasl2.m4	2018-11-18 22:33:29.902625600 +0300
++++ b/m4/sasl2.m4	2018-11-18 22:33:59.828746176 +0300
+@@ -339,7 +339,8 @@
+ ],	
+ 	[ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO])
+ 	AC_MSG_RESULT(yes) ],
+-	AC_MSG_RESULT(no))
++	AC_MSG_RESULT(no),
++    AC_MSG_RESULT(no))
+   LIBS="$cmu_save_LIBS"
+ 
+ else
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index a757ec1e12f..4344923f694 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,32 +1,29 @@
-{ lib, stdenv, fetchurl, openssl, openldap, kerberos, db, gettext,
-  pam, fixDarwinDylibNames, autoreconfHook, fetchpatch, enableLdap ? false }:
+{ lib, stdenv, fetchurl, openssl, openldap, kerberos, db, gettext
+, pam, fixDarwinDylibNames, autoreconfHook, fetchpatch, enableLdap ? false
+, buildPackages }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "cyrus-sasl-${version}${optionalString (kerberos == null) "-without-kerberos"}";
-  version = "2.1.26";
+  version = "2.1.27";
 
   src = fetchurl {
     url = "ftp://ftp.cyrusimap.org/cyrus-sasl/${name}.tar.gz";
-    sha256 = "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g";
+    sha256 = "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ autoreconfHook fixDarwinDylibNames ];
   buildInputs =
     [ openssl db gettext kerberos ]
     ++ lib.optional enableLdap openldap
-    ++ lib.optional stdenv.isFreeBSD autoreconfHook
-    ++ lib.optional stdenv.isLinux pam
-    ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+    ++ lib.optional stdenv.isLinux pam;
 
   patches = [
     ./missing-size_t.patch # https://bugzilla.redhat.com/show_bug.cgi?id=906519
-    (fetchpatch {
-      name = "CVE-2013-4122.patch";
-      url = "mirror://sourceforge/miscellaneouspa/files/glibc217/cyrus-sasl-2.1.26-glibc217-crypt.diff";
-      sha256 = "05l7dh1w9d5fvzg0pjwzqh0fy4ah8y5cv6v67s4ssbq8xwd4pkf2";
-    })
+    ./cyrus-sasl-ac-try-run-fix.patch
   ] ++ lib.optional stdenv.isFreeBSD (
       fetchurl {
         url = "http://www.linuxfromscratch.org/patches/blfs/svn/cyrus-sasl-2.1.26-fixes-3.patch";
@@ -42,10 +39,6 @@ stdenv.mkDerivation rec {
     "--enable-shared"
   ] ++ lib.optional enableLdap "--with-ldap=${openldap.dev}";
 
-  # Avoid triggering regenerating using broken autoconf/libtool bits.
-  # (many distributions carry patches to remove/replace, but this works for now)
-  dontUpdateAutotoolsGnuConfigScripts = if stdenv.hostPlatform.isMusl then true else null;
-
   installFlags = lib.optional stdenv.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/dee/default.nix b/pkgs/development/libraries/dee/default.nix
index 1288f4ac2f5..fb7ec512319 100644
--- a/pkgs/development/libraries/dee/default.nix
+++ b/pkgs/development/libraries/dee/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python, pkgconfig
-, glib, icu, gobjectIntrospection }:
+, glib, icu, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "dee-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v";
   };
 
-  buildInputs = [ glib gobjectIntrospection icu ];
+  buildInputs = [ glib gobject-introspection icu ];
   nativeBuildInputs = [ python pkgconfig ];
 
   NIX_CFLAGS_COMPILE = [ "-Wno-error=misleading-indentation" ]; # gcc-6
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index 924fb52b090..e884bb41e20 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libnice, pkgconfig, pythonPackages, gstreamer, gst-plugins-base
-, gst-python, gupnp-igd, gobjectIntrospection
+, gst-python, gupnp-igd, gobject-introspection
 , gst-plugins-good, gst-plugins-bad, gst-libav
 }:
 
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ libnice python pygobject2 gupnp-igd libnice ];
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection ];
 
   propagatedBuildInputs = [
     gstreamer gst-plugins-base gst-python
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index 693d50e9330..41ab930a30e 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2
-, gobjectIntrospection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc, xdg-dbus-proxy, p11-kit
+, gobject-introspection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc, xdg-dbus-proxy, p11-kit
 , bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, python2, hicolor-icon-theme
 , libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, makeWrapper, gnome3 }:
 
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    autoreconfHook libxml2 docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 docbook_xsl which gobjectIntrospection
+    autoreconfHook libxml2 docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 docbook_xsl which gobject-introspection
     gtk-doc intltool libxslt pkgconfig xmlto appstream-glib yacc makeWrapper
   ];
 
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 1a028526726..f730e3e3408 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   propagatedBuildInputs = [ freetype ];
-  nativeBuildInputs = [ pkgconfig gperf ];
+  nativeBuildInputs = [ pkgconfig gperf libxslt ];
   buildInputs = [ expat ];
 
   configureFlags = [
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     cd "$out/etc/fonts"
-    "${libxslt.bin}/bin/xsltproc" --stringparam fontDirectories "${dejavu_fonts.minimal}" \
+    xsltproc --stringparam fontDirectories "${dejavu_fonts.minimal}" \
       --stringparam fontconfigConfigVersion "${configVersion}" \
       --path $out/share/xml/fontconfig \
       ${./make-fonts-conf.xsl} $out/etc/fonts/fonts.conf \
@@ -77,4 +77,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.vcunat ];
   };
 }
-
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 08b0a87e3e2..b60f4be245e 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, fetchpatch
 
 , meson
 , ninja
@@ -21,6 +22,13 @@ stdenv.mkDerivation rec {
     sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/fribidi/fribidi/pull/88.patch";
+      sha256 = "1n4l6333vhbxfckwg101flmvq6bbygg66fjp69ddcjqaqb6gh9k9";
+    })
+  ];
+
   postPatch = ''
     patchShebangs test
   '';
diff --git a/pkgs/development/libraries/gcab/default.nix b/pkgs/development/libraries/gcab/default.nix
index dc0ca5fffa3..0b5f1002c23 100644
--- a/pkgs/development/libraries/gcab/default.nix
+++ b/pkgs/development/libraries/gcab/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gettext, gobjectIntrospection, pkgconfig
+{ stdenv, fetchurl, gettext, gobject-introspection, pkgconfig
 , meson, ninja, glibcLocales, git, vala, glib, zlib
 }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0l19sr6pg0cfcddmi5n79d08mjjbhn427ip5jlsy9zddq9r24aqr";
   };
 
-  nativeBuildInputs = [ meson ninja glibcLocales git pkgconfig vala gettext gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja glibcLocales git pkgconfig vala gettext gobject-introspection ];
 
   buildInputs = [ glib zlib ];
 
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 9fece4cb7a5..20f05d28bfe 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,25 +1,16 @@
-{ stdenv, fetchurl, fetchFromGitLab, fetchpatch, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
+{ stdenv, fetchurl, fetchpatch, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
 , docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
-, jasper, gobjectIntrospection, doCheck ? false, makeWrapper }:
+, jasper, gobject-introspection, doCheck ? false, makeWrapper }:
 
 let
   pname = "gdk-pixbuf";
-  version = "2.36.12";
-in
-stdenv.mkDerivation rec {
+  version = "2.38.0";
+in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
-  # TODO: Change back once tests/bug753605-atsize.jpg is part of the dist tarball
-  # src = fetchurl {
-  #   url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-  #   sha256 = "0d534ysa6n9prd17wwzisq7mj6qkhwh8wcf8qgin1ar3hbs5ry7z";
-  # };
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = "gdk-pixbuf";
-    rev = version;
-    sha256 = "18lwqg63vyap2m1mw049rnb8fm869429xbf7636a2n21gs3d3jwv";
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "0ixfmnxjylx06mjaw116apymwi1a8rnkmkbbvqaxxg2pfwy9fl6x";
   };
 
   patches = [
@@ -28,21 +19,13 @@ stdenv.mkDerivation rec {
     # For now, we are patching the build script to avoid the dependency.
     ./no-mime-sniffing.patch
 
-    # Fix installed tests with meson
-    # https://bugzilla.gnome.org/show_bug.cgi?id=795527
-    (fetchurl {
-      url = https://bugzilla.gnome.org/attachment.cgi?id=371381;
-      sha256 = "0nl1cixkjfa5kcfh0laz8h6hdsrpdkxqn7a1k35jrb6zwc9hbydn";
-    })
+    # Move installed tests to a separate output
+    ./installed-tests-path.patch
 
-    # Add missing test file bug753605-atsize.jpg
     (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gdk-pixbuf/commit/87f8f4bf01dfb9982c1ef991e4060a5e19fdb7a7.patch;
-      sha256 = "1slzywwnrzfx3zjzdsxrvp4g2q4skmv50pdfmyccp41j7bfyb2j0";
+      url = https://gitlab.gnome.org/GNOME/gdk-pixbuf/commit/a7d582f75a71320554b881e063a65f4ced679c1c.patch;
+      sha256 = "0z0w52bh4hcrdllbgrqvh12iqzr7k1pb0wdr9vz2qslg1kjk4j92";
     })
-
-    # Move installed tests to a separate output
-    ./installed-tests-path.patch
   ];
 
   outputs = [ "out" "dev" "man" "devdoc" "installedTests" ];
@@ -54,7 +37,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43
-    gtk-doc gobjectIntrospection makeWrapper
+    gtk-doc gobject-introspection makeWrapper
   ]
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
@@ -64,7 +47,7 @@ stdenv.mkDerivation rec {
     "-Ddocs=true"
     "-Djasper=true"
     "-Dx11=true"
-    "-Dgir=${if gobjectIntrospection != null then "true" else "false"}"
+    "-Dgir=${if gobject-introspection != null then "true" else "false"}"
   ];
 
   postPatch = ''
@@ -99,6 +82,10 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  preInstall = ''
+    PATH=$PATH:$out/bin # for install script
+  '';
+
   # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
   inherit doCheck;
 
diff --git a/pkgs/development/libraries/geis/default.nix b/pkgs/development/libraries/geis/default.nix
index fa3aa77cd3a..e1f243f8fd3 100644
--- a/pkgs/development/libraries/geis/default.nix
+++ b/pkgs/development/libraries/geis/default.nix
@@ -7,7 +7,7 @@
 , evemu
 , frame
 , gdk_pixbuf
-, gobjectIntrospection
+, gobject-introspection
 , grail
 , gtk3
 , libX11
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     [ pygobject3  ];
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook python3Packages.wrapPython];
-  buildInputs = [ atk dbus evemu frame gdk_pixbuf gobjectIntrospection grail
+  buildInputs = [ atk dbus evemu frame gdk_pixbuf gobject-introspection grail
     gtk3 libX11 libXext libXi libXtst pango python3Packages.python xorgserver
   ];
 
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index a716b78cdc7..f2eeb9ae40b 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitLab, meson, ninja, pkgconfig, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, json-glib, libsoup, libnotify, gdk_pixbuf
-, modemmanager, avahi, glib-networking, python3, wrapGAppsHook, gobjectIntrospection, vala
+{ stdenv, fetchFromGitLab, intltool, meson, ninja, pkgconfig, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, json-glib, libsoup, libnotify, gdk_pixbuf
+, modemmanager, avahi, glib-networking, python3, wrapGAppsHook, gobject-introspection, vala
 , withDemoAgent ? false
 }:
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "devdoc" ];
 
   nativeBuildInputs = [
-    pkgconfig meson ninja wrapGAppsHook python3 vala gobjectIntrospection
+    pkgconfig intltool meson ninja wrapGAppsHook python3 vala gobject-introspection
     # devdoc
     gtk-doc docbook_xsl docbook_xml_dtd_412
   ];
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 87d26b10027..e8105ef0823 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -1,28 +1,20 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, glib, gettext, python3, gnutls, p11-kit, libproxy, gnome3
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gettext, python3, gnutls, p11-kit, libproxy, gnome3
 , gsettings-desktop-schemas }:
 
 let
   pname = "glib-networking";
-  version = "2.56.0";
+  version = "2.58.0";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "14vw8xwajd7m31bpavg2psk693plhjikwpk8bzf3jl1fmsy11za7";
+    sha256 = "0s006gs9nsq6mg31spqha1jffzmp6qjh10y27h0fxf1iw1ah5ymx";
   };
 
   outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs
 
-  patches = [
-    # Use GNUTLS system trust for certificates
-    (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/glib-networking/commit/f1c8feee014007cc913b71357acb609f8d1200df.patch;
-      sha256 = "1rbxqsrcb5if3xs2d18pqzd9xnjysdj715ijc41n5w326fsawg7i";
-    })
-  ];
-
   PKG_CONFIG_GIO_2_0_GIOMODULEDIR = "${placeholder "out"}/lib/gio/modules";
 
   postPatch = ''
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 508a012c690..1eb50fc4f10 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, gettext, pkgconfig, perl, python
-, libiconv, zlib, libffi, pcre, libelf, gnome3
+{ stdenv, fetchurl, gettext, meson, ninja, pkgconfig, perl, python3, glibcLocales
+, libiconv, zlib, libffi, pcre, libelf, gnome3, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45
 # use utillinuxMinimal to avoid circular dependency (utillinux, systemd, glib)
 , utillinuxMinimal ? null
 
@@ -43,7 +43,7 @@ let
     ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true
   '';
 
-  version = "2.56.0";
+  version = "2.58.1";
 in
 
 stdenv.mkDerivation rec {
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1iqgi90fmpl3l23jm2iv44qp7hqsxvnv7978s18933bvx4bnxvzc";
+    sha256 = "1mnp4vankish8bqxymdl591p9v1ynk7pfc5dmpx3vamn4vcskmlp";
   };
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch
@@ -59,48 +59,53 @@ stdenv.mkDerivation rec {
     ++ optionals stdenv.hostPlatform.isMusl [
       ./quark_init_on_demand.patch
       ./gobject_init_on_demand.patch
-    ] ++ [ ./schema-override-variable.patch ];
+    ] ++ [
+      ./schema-override-variable.patch
+      # Require substituteInPlace in postPatch
+      ./fix-gio-launch-desktop-path.patch
+    ];
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   setupHook = ./setup-hook.sh;
 
-  buildInputs = [ libelf setupHook pcre ]
-    ++ optionals stdenv.isLinux [ utillinuxMinimal ]; # for libmount
+  buildInputs = [
+    libelf setupHook pcre
+    bash gnum4 # install glib-gettextize and m4 macros for other apps to use
+  ] ++ optionals stdenv.isLinux [
+    libselinux
+    utillinuxMinimal # for libmount
+  ];
 
-  nativeBuildInputs = [ pkgconfig perl python gettext ];
+  nativeBuildInputs = [ meson ninja pkgconfig perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45 glibcLocales ];
 
   propagatedBuildInputs = [ zlib libffi gettext libiconv ];
 
-  # internal pcre would only add <200kB, but it's relatively common
-  configureFlags = [ "--with-pcre=system" ]
-    ++ optional stdenv.isDarwin "--disable-compile-warnings"
-    ++ optional stdenv.isSunOS "--disable-dtrace"
-    # Can't run this test when cross-compiling
-    ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform)
-       [ "glib_cv_stack_grows=no" "glib_cv_uscore=no" ]
-    # GElf only supports elf64 hosts
-    ++ optional (!stdenv.hostPlatform.is64bit) "--disable-libelf";
+  mesonFlags = [
+    "-Dgtk_doc=true"
+  ];
+
+  LC_ALL = "en_US.UTF-8";
 
   NIX_CFLAGS_COMPILE = optional stdenv.isSunOS "-DBSD_COMP";
 
-  preConfigure = optionalString stdenv.isSunOS ''
-    sed -i -e 's|inotify.h|foobar-inotify.h|g' configure
-  '';
+  postPatch = ''
+    substituteInPlace meson.build --replace "install_dir : 'bin'," "install_dir : glib_bindir,"
+
+    # substitute fix-gio-launch-desktop-path.patch
+    substituteInPlace gio/gdesktopappinfo.c --replace "@bindir@" "$out/bin"
 
-  postConfigure = ''
-    patchShebangs ./gobject/
+    chmod +x gio/tests/gengiotypefuncs.py
+    patchShebangs gio/tests/gengiotypefuncs.py
+    patchShebangs glib/gen-unicode-tables.pl
+    patchShebangs tests/gen-casefold-txt.py
+    patchShebangs tests/gen-casemap-txt.py
   '';
 
   LIBELF_CFLAGS = optional stdenv.isFreeBSD "-I${libelf}";
   LIBELF_LIBS = optional stdenv.isFreeBSD "-L${libelf} -lelf";
 
-  preBuild = optionalString stdenv.isDarwin ''
-    export MACOSX_DEPLOYMENT_TARGET=
-  '';
-
-  enableParallelBuilding = true;
   DETERMINISTIC_BUILD = 1;
 
   postInstall = ''
@@ -109,6 +114,11 @@ stdenv.mkDerivation rec {
       mv "$dev/bin/$app" "$bin/bin"
     done
 
+    # Add gio-launch-desktop to $out so we can refer to it from $dev
+    mkdir $out/bin
+    mv "$dev/bin/gio-launch-desktop" "$out/bin/"
+    ln -s "$out/bin/gio-launch-desktop" "$bin/bin/"
+
     moveToOutput "share/glib-2.0" "$dev"
     substituteInPlace "$dev/bin/gdbus-codegen" --replace "$out" "$dev"
     sed -i "$dev/bin/glib-gettextize" -e "s|^gettext_dir=.*|gettext_dir=$dev/share/glib-2.0/gettext|"
diff --git a/pkgs/development/libraries/glib/fix-gio-launch-desktop-path.patch b/pkgs/development/libraries/glib/fix-gio-launch-desktop-path.patch
new file mode 100644
index 00000000000..4fdec2dd7e7
--- /dev/null
+++ b/pkgs/development/libraries/glib/fix-gio-launch-desktop-path.patch
@@ -0,0 +1,11 @@
+--- a/gio/gdesktopappinfo.c
++++ b/gio/gdesktopappinfo.c
+@@ -2725,7 +2725,7 @@ g_desktop_app_info_launch_uris_with_spawn (GDesktopAppInfo            *info,
+ 
+           /* Fall back on usual searching in $PATH */
+           if (tmp == NULL)
+-            tmp = "gio-launch-desktop";
++            tmp = "@bindir@/gio-launch-desktop";
+           g_once_init_leave (&gio_launch_desktop_path, tmp);
+         }
+ 
diff --git a/pkgs/development/libraries/gmime/2.nix b/pkgs/development/libraries/gmime/2.nix
index b25f5c90bfa..1c6dfc4a852 100644
--- a/pkgs/development/libraries/gmime/2.nix
+++ b/pkgs/development/libraries/gmime/2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, libgpgerror, gobjectIntrospection }:
+{ stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, libgpgerror, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   version = "2.6.23";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection ];
   propagatedBuildInputs = [ glib zlib libgpgerror ];
   configureFlags = [ "--enable-introspection=yes" ];
 
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index 443200c17b1..d036140567f 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, gpgme, libidn2, libunistring, gobjectIntrospection }:
+{ stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, gpgme, libidn2, libunistring, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   version = "3.2.3";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  buildInputs = [ gobjectIntrospection zlib gpgme libidn2 libunistring ];
+  buildInputs = [ gobject-introspection zlib gpgme libidn2 libunistring ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib ];
   configureFlags = [ "--enable-introspection=yes" ];
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch
index f7e1bedd3e1..d4160b51d68 100644
--- a/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch
+++ b/pkgs/development/libraries/gobject-introspection/absolute_gir_path.patch
@@ -2,10 +2,10 @@
 +++ b/gir/cairo-1.0.gir.in
 @@ -5,7 +5,7 @@
              xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-   <package name="%CAIRO_GIR_PACKAGE%"/>
+   <package name="@CAIRO_GIR_PACKAGE@"/>
    <namespace name="cairo" version="1.0"
--	     shared-library="%CAIRO_SHARED_LIBRARY%"
-+	     shared-library="@cairoLib@/%CAIRO_SHARED_LIBRARY%"
+-	     shared-library="@CAIRO_SHARED_LIBRARY@"
++	     shared-library="@cairoLib@/@CAIRO_SHARED_LIBRARY@"
  	     c:identifier-prefixes="cairo"
  	     c:symbol-prefixes="cairo">
      <record name="Context" c:type="cairo_t" foreign="1"
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
index 6a112aedcc0..e2525d833f8 100644
--- a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
+++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
@@ -1,6 +1,6 @@
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
-@@ -100,6 +100,39 @@
+@@ -101,6 +101,39 @@
      return group
  
  
@@ -8,7 +8,7 @@
 +    # Newer multiple-output-optimized stdenv has an environment variable
 +    # $outputLib which in turn specifies another variable which then is used as
 +    # the destination for the library contents (${!outputLib}/lib).
-+    store_path = os.environ.get(os.environ.get("outputLib"))
++    store_path = os.environ.get(os.environ.get("outputLib")) if "outputLib" in os.environ else None
 +    if store_path is None:
 +        outputs = os.environ.get("outputs", "out").split()
 +        if "lib" in outputs:
@@ -38,9 +38,9 @@
 +
 +
  def _get_option_parser():
-     parser = optparse.OptionParser('%prog [options] sources')
-     parser.add_option('', "--quiet",
-@@ -209,6 +242,10 @@
+     parser = optparse.OptionParser('%prog [options] sources',
+                                    version='%prog ' + giscanner.__version__)
+@@ -211,6 +244,10 @@
      parser.add_option("", "--filelist",
                        action="store", dest="filelist", default=[],
                        help="file containing headers and sources to be scanned")
@@ -53,48 +53,63 @@
      parser.add_option_group(group)
 --- a/giscanner/shlibs.py
 +++ b/giscanner/shlibs.py
-@@ -63,6 +63,11 @@
-         pattern = "([^\s]*lib*%s[^A-Za-z0-9_-][^\s\(\)]*)"
-     return re.compile(pattern % re.escape(library_name))
+@@ -62,6 +62,12 @@
+     $""" % re.escape(library_name), re.VERBOSE)
+ 
  
 +def _ldd_library_nix_pattern(library_name):
 +    nix_store_dir = re.escape('@nixStoreDir@'.rstrip('/'))
 +    pattern = r'(%s(?:/[^/]*)+lib%s[^A-Za-z0-9_-][^\s\(\)]*)'
 +    return re.compile(pattern % (nix_store_dir, re.escape(library_name)))
 +
- 
++
  # This is a what we do for non-la files. We assume that we are on an
  # ELF-like system where ldd exists and the soname extracted with ldd is
-@@ -112,7 +117,7 @@
-         proc = subprocess.Popen(args, stdout=subprocess.PIPE)
-         patterns = {}
-         for library in libraries:
+ # a filename that can be opened with dlopen().
+@@ -110,17 +116,16 @@ def _resolve_non_libtool(options, binary, libraries):
+         if isinstance(output, bytes):
+             output = output.decode("utf-8", "replace")
+ 
+-        # Use absolute paths on OS X to conform to how libraries are usually
+-        # referenced on OS X systems, and file names everywhere else.
+-        basename = platform.system() != 'Darwin'
+-        return resolve_from_ldd_output(libraries, output, basename=basename)
++        # Never strip away absolute paths in Nix
++        basename = False
++        return resolve_from_ldd_output(libraries, output, basename=basename, fallback_libpath=options.fallback_libpath)
+ 
+ 
+-def resolve_from_ldd_output(libraries, output, basename=False):
++def resolve_from_ldd_output(libraries, output, basename=False, fallback_libpath=""):
+     patterns = {}
+     for library in libraries:
+         if not os.path.isfile(library):
 -            patterns[library] = _ldd_library_pattern(library)
 +            patterns[library] = (_ldd_library_pattern(library), _ldd_library_nix_pattern(library))
+     if len(patterns) == 0:
+         return []
  
-         shlibs = []
-         for line in proc.stdout:
-@@ -122,11 +127,14 @@
-             # possible for the name of the binary to match _ldd_library_pattern.
-             if line == binary.args[0] + ':\n':
-                 continue
+@@ -129,11 +134,14 @@ def resolve_from_ldd_output(libraries, output, basename=False):
+         if line.endswith(':'):
+             continue
+         for word in line.split():
 -            for library, pattern in patterns.items():
--                m = pattern.search(line)
+-                m = pattern.match(word)
 +            for library, (pattern, nix_pattern) in patterns.items():
 +                if line.find('@nixStoreDir@') != -1:
-+                    m = nix_pattern.search(line)
++                    m = nix_pattern.match(word)
 +                else:
-+                    m = pattern.search(line)
++                    m = pattern.match(word)
                  if m:
                      del patterns[library]
--                    shlibs.append(m.group(1))
-+                    shlibs.append(os.path.join(options.fallback_libpath, m.group(1)))
+-                    shlibs.append(_sanitize_install_name(m.group()))
++                    shlibs.append(os.path.join(fallback_libpath, _sanitize_install_name(m.group())))
                      break
  
-         if len(patterns) > 0:
+     if len(patterns) > 0:
 --- a/giscanner/utils.py
 +++ b/giscanner/utils.py
-@@ -113,17 +113,11 @@
+@@ -116,17 +116,11 @@
      if dlname is None:
          return None
  
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 482710f18df..3dc66aec159 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python
-, libintl, cctools, cairo, gnome3
+{ stdenv, fetchurl, glib, flex, bison, meson, ninja, pkgconfig, libffi, python3
+, libintl, cctools, cairo, gnome3, glibcLocales, fetchpatch
 , substituteAll, nixStoreDir ? builtins.storeDir
 , x11Support ? true
 }:
-# now that gobjectIntrospection creates large .gir files (eg gtk3 case)
+# now that gobject-introspection creates large .gir files (eg gtk3 case)
 # it may be worth thinking about using multiple derivation outputs
 # In that case its about 6MB which could be separated
 
 let
   pname = "gobject-introspection";
-  version = "1.56.0";
+  version = "1.58.1";
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -17,21 +17,22 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1y50pbn5qqbcv2h9rkz96wvv5jls2gma9bkqjq6wapmaszx5jw0d";
+    sha256 = "12fzs3044047icdfs7cb2lsmnfi6w6fyhkci3m2rbvf5llgnhm29";
   };
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "man" ];
   outputBin = "dev";
-  outputMan = "dev"; # tiny pages
 
-  nativeBuildInputs = [ pkgconfig libintl ];
-  buildInputs = [ flex bison python setupHook/*move .gir*/ ]
+  LC_ALL = "en_US.UTF-8"; # for tests
+
+  nativeBuildInputs = [ meson ninja pkgconfig libintl glibcLocales ];
+  buildInputs = [ flex bison python3 setupHook/*move .gir*/ ]
     ++ stdenv.lib.optional stdenv.isDarwin cctools;
   propagatedBuildInputs = [ libffi glib ];
 
-  preConfigure = ''
-    sed 's|/usr/bin/env ||' -i tools/g-ir-tool-template.in
-  '';
+  mesonFlags = [
+    "--datadir=${placeholder "dev"}/share"
+  ];
 
   # outputs TODO: share/gobject-introspection-1.0/tests is needed during build
   # by pygobject3 (and maybe others), but it's only searched in $out
@@ -39,6 +40,11 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   patches = [
+    ./macos-shared-library.patch
+    (substituteAll {
+      src = ./test_shlibs.patch;
+      inherit nixStoreDir;
+    })
     (substituteAll {
       src = ./absolute_shlib_path.patch;
       inherit nixStoreDir;
@@ -49,12 +55,11 @@ stdenv.mkDerivation rec {
       cairoLib = "${getLib cairo}/lib";
     });
 
-  doCheck = false; # fails
+  doCheck = true;
 
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
-      attrPath = "gobjectIntrospection";
     };
   };
 
diff --git a/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch b/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch
new file mode 100644
index 00000000000..9941878c427
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch
@@ -0,0 +1,36 @@
+diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
+index c93d20c..4d4915d 100644
+--- a/giscanner/shlibs.py
++++ b/giscanner/shlibs.py
+@@ -43,6 +43,22 @@ def _resolve_libtool(options, binary, libraries):
+ 
+     return shlibs
+ 
++def _sanitize_install_name(install_name):
++    '''
++    On macOS, the dylib can be built with install_name as @rpath/libfoo.so
++    instead of the absolute path to the library, so handle that. The name
++    can also be @loader_path or @executable_path.
++    '''
++    if not install_name.startswith('@'):
++        return install_name
++    if install_name.startswith('@rpath/'):
++        return install_name[7:]
++    if install_name.startswith('@loader_path/'):
++        return install_name[13:]
++    if install_name.startswith('@executable_path/'):
++        return install_name[17:]
++    raise RuntimeError('Unknown install_name {!r}'.format(install_name))
++
+ 
+ # Assume ldd output is something vaguely like
+ #
+@@ -136,7 +152,7 @@ def resolve_from_ldd_output(libraries, output, basename=False):
+                 m = pattern.match(word)
+                 if m:
+                     del patterns[library]
+-                    shlibs.append(m.group())
++                    shlibs.append(_sanitize_install_name(m.group()))
+                     break
+ 
+     if len(patterns) > 0:
diff --git a/pkgs/development/libraries/gobject-introspection/test_shlibs.patch b/pkgs/development/libraries/gobject-introspection/test_shlibs.patch
new file mode 100644
index 00000000000..c3152982d19
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/test_shlibs.patch
@@ -0,0 +1,50 @@
+--- a/tests/scanner/test_shlibs.py
++++ b/tests/scanner/test_shlibs.py
+@@ -10,6 +10,46 @@ from giscanner.shlibs import resolve_from_ldd_output
+ 
+ class TestLddParser(unittest.TestCase):
+ 
++    def test_resolve_from_ldd_output_nix(self):
++        output = '''\
++            libglib-2.0.so.0 => @nixStoreDir@/gmrf09y7sfxrr0mcx90dba7w41jj2kzk-glib-2.58.1/lib/libglib-2.0.so.0 (0x00007f0ee1b28000)
++            libgobject-2.0.so.0 => @nixStoreDir@/gmrf09y7sfxrr0mcx90dba7w41jj2kzk-glib-2.58.1/lib/libgobject-2.0.so.0 (0x00007f0ee18cf000)
++            libgio-2.0.so.0 => @nixStoreDir@/gmrf09y7sfxrr0mcx90dba7w41jj2kzk-glib-2.58.1/lib/libgio-2.0.so.0 (0x00007f0ee1502000)
++            libxml2.so.2 => @nixStoreDir@/72mxkk74cv266snkjpz1kwl1i2rg8rpc-libxml2-2.9.8/lib/libxml2.so.2 (0x00007f0ee119c000)
++            libsqlite3.so.0 => @nixStoreDir@/ck5ay23hsmlc67pg3m34kzd1k2hhvww0-sqlite-3.24.0/lib/libsqlite3.so.0 (0x00007f0ee0e98000)
++            libpsl.so.5 => @nixStoreDir@/qn3l2gn7m76f318676wflrs2z6d4rrkj-libpsl-0.20.2-list-2017-02-03/lib/libpsl.so.5 (0x00007f0ee0c88000)
++            libc.so.6 => @nixStoreDir@/g2yk54hifqlsjiha3szr4q3ccmdzyrdv-glibc-2.27/lib/libc.so.6 (0x00007f0ee08d4000)
++            libpcre.so.1 => @nixStoreDir@/hxbq8lpc53qsf1bc0dfcsm47wmcxzjvh-pcre-8.42/lib/libpcre.so.1 (0x00007f0ee0662000)
++            @nixStoreDir@/g2yk54hifqlsjiha3szr4q3ccmdzyrdv-glibc-2.27/lib64/ld-linux-x86-64.so.2 (0x00007f0ee20ff000)
++            libblkid.so.1 => @nixStoreDir@/q0kgnq21j0l2yd77gdlld371246cwghh-util-linux-2.32.1/lib/libblkid.so.1 (0x00007f0edd0cd000)
++            libuuid.so.1 => @nixStoreDir@/q0kgnq21j0l2yd77gdlld371246cwghh-util-linux-2.32.1/lib/libuuid.so.1 (0x00007f0edcec5000)
++            librt.so.1 => @nixStoreDir@/g2yk54hifqlsjiha3szr4q3ccmdzyrdv-glibc-2.27/lib/librt.so.1 (0x00007f0edccbd000)
++            libstdc++.so.6 => @nixStoreDir@/3v5r7fkrbkw2qajadvjbf6p6qriz9p1i-gcc-7.3.0-lib/lib/libstdc++.so.6 (0x00007f0edc936000)
++            libgcc_s.so.1 => @nixStoreDir@/g2yk54hifqlsjiha3szr4q3ccmdzyrdv-glibc-2.27/lib/libgcc_s.so.1 (0x00007f0edc720000)
++        '''
++        libraries = ['glib-2.0', 'gio-2.0']
++
++        self.assertEqual(
++            ['@nixStoreDir@/gmrf09y7sfxrr0mcx90dba7w41jj2kzk-glib-2.58.1/lib/libglib-2.0.so.0',
++             '@nixStoreDir@/gmrf09y7sfxrr0mcx90dba7w41jj2kzk-glib-2.58.1/lib/libgio-2.0.so.0'],
++            resolve_from_ldd_output(libraries, output, basename=False))
++
++    def test_resolve_from_ldd_output_macos(self):
++        output = '''\
++            @rpath/libatk-1.0.0.dylib
++            @rpath/libgstreamer-1.0.0.dylib (compatibility version 0.0.0, current version 0.0.0)
++            /Volumes/USB_SSD/cerbero/build/dist/darwin_x86_64/lib/libglib-2.0.0.dylib (compatibility version 0.0.0, current version 0.0.0)
++            /Volumes/USB_SSD/cerbero/build/dist/darwin_x86_64/lib/libintl.dylib (compatibility version 0.0.0, current version 0.0.0)
++            /Volumes/USB_SSD/cerbero/build/dist/darwin_x86_64/lib/libgobject-2.0.0.dylib (compatibility version 0.0.0, current version 0.0.0)
++            /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
++        '''
++        libraries = ['atk-1.0']
++        fallback_libpath = '@nixStoreDir@/1ynd5b01z87c1nw75k5iy7sq49hpkw53-atk-2.30.0/lib'
++
++        self.assertEqual(
++            [ '%s/libatk-1.0.0.dylib' % fallback_libpath ],
++            resolve_from_ldd_output(libraries, output, basename=False, fallback_libpath=fallback_libpath))
++
+     def test_resolve_from_ldd_output(self):
+         output = '''\
+             libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fbe12d68000)
+
diff --git a/pkgs/development/libraries/goocanvas/2.x.nix b/pkgs/development/libraries/goocanvas/2.x.nix
index ef36a9c076f..99b1307179a 100644
--- a/pkgs/development/libraries/goocanvas/2.x.nix
+++ b/pkgs/development/libraries/goocanvas/2.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gettext, gtk-doc, gobjectIntrospection, python2, gtk3, cairo, glib }:
+{ stdenv, fetchurl, pkgconfig, gettext, gtk-doc, gobject-introspection, python2, gtk3, cairo, glib }:
 
 let
   version = "2.0.4";
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig gettext gtk-doc python2 ];
-  buildInputs = [ gtk3 cairo glib gobjectIntrospection ];
+  buildInputs = [ gtk3 cairo glib gobject-introspection ];
 
   configureFlags = [
     "--disable-python"
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/development/libraries/granite/default.nix
index ae2decb68ac..2113b4f690b 100644
--- a/pkgs/development/libraries/granite/default.nix
+++ b/pkgs/development/libraries/granite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, ninja, vala_0_40, pkgconfig, gobjectIntrospection, gnome3, gtk3, glib, gettext }:
+{ stdenv, fetchFromGitHub, cmake, ninja, vala_0_40, pkgconfig, gobject-introspection, gnome3, gtk3, glib, gettext }:
 
 stdenv.mkDerivation rec {
   pname = "granite";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     gettext
-    gobjectIntrospection
+    gobject-introspection
     ninja
     pkgconfig
     vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
diff --git a/pkgs/development/libraries/gsettings-qt/default.nix b/pkgs/development/libraries/gsettings-qt/default.nix
index 9e893932a64..3f9cd8120d8 100644
--- a/pkgs/development/libraries/gsettings-qt/default.nix
+++ b/pkgs/development/libraries/gsettings-qt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchbzr, pkgconfig, qmake, qtbase, qtdeclarative, glib, gobjectIntrospection }:
+{ stdenv, fetchbzr, pkgconfig, qmake, qtbase, qtdeclarative, glib, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "gsettings-qt-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkgconfig
     qmake
-    gobjectIntrospection
+    gobject-introspection
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/gsignond/default.nix b/pkgs/development/libraries/gsignond/default.nix
index b7b498f9aa1..a81e72bf66f 100644
--- a/pkgs/development/libraries/gsignond/default.nix
+++ b/pkgs/development/libraries/gsignond/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitLab, pkgconfig, meson, ninja, glib, glib-networking
-, sqlite, gobjectIntrospection, vala, gtk-doc, libsecret, docbook_xsl
+, sqlite, gobject-introspection, vala, gtk-doc, libsecret, docbook_xsl
 , docbook_xml_dtd_43, docbook_xml_dtd_45, glibcLocales, makeWrapper
 , symlinkJoin, gsignondPlugins, plugins }:
 
@@ -22,7 +22,7 @@ unwrapped = stdenv.mkDerivation rec {
     docbook_xml_dtd_45
     docbook_xsl
     glibcLocales
-    gobjectIntrospection
+    gobject-introspection
     gtk-doc
     meson
     ninja
diff --git a/pkgs/development/libraries/gsignond/plugins/lastfm.nix b/pkgs/development/libraries/gsignond/plugins/lastfm.nix
index 929309095c7..7c15e10620a 100644
--- a/pkgs/development/libraries/gsignond/plugins/lastfm.nix
+++ b/pkgs/development/libraries/gsignond/plugins/lastfm.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitLab, pkgconfig, meson, ninja, vala, glib, gsignond, json-glib, libsoup, gobjectIntrospection }:
+{ stdenv, fetchFromGitLab, pkgconfig, meson, ninja, vala, glib, gsignond, json-glib, libsoup, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "gsignond-plugin-lastfm-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/development/libraries/gsignond/plugins/mail.nix b/pkgs/development/libraries/gsignond/plugins/mail.nix
index 165c90b303a..c4d23bd834c 100644
--- a/pkgs/development/libraries/gsignond/plugins/mail.nix
+++ b/pkgs/development/libraries/gsignond/plugins/mail.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitLab, pkgconfig, meson, ninja, vala, glib, gsignond, gobjectIntrospection }:
+{ stdenv, fetchFromGitLab, pkgconfig, meson, ninja, vala, glib, gsignond, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   pname = "gsignond-plugin-mail";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/development/libraries/gsignond/plugins/oauth.nix b/pkgs/development/libraries/gsignond/plugins/oauth.nix
index af623bf0d9b..6182ea283cb 100644
--- a/pkgs/development/libraries/gsignond/plugins/oauth.nix
+++ b/pkgs/development/libraries/gsignond/plugins/oauth.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitLab, fetchpatch, pkgconfig, meson, ninja, glib, gsignond, check
 , json-glib, libsoup, gnutls, gtk-doc, docbook_xml_dtd_43, docbook_xml_dtd_45
-, docbook_xsl, glibcLocales, gobjectIntrospection }:
+, docbook_xsl, glibcLocales, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "gsignond-plugin-oauth-${version}";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     docbook_xml_dtd_45
     docbook_xsl
     glibcLocales
-    gobjectIntrospection
+    gobject-introspection
     gtk-doc
     meson
     ninja
diff --git a/pkgs/development/libraries/gsignond/plugins/sasl.nix b/pkgs/development/libraries/gsignond/plugins/sasl.nix
index 6d3fd6c0380..d1fa37939a7 100644
--- a/pkgs/development/libraries/gsignond/plugins/sasl.nix
+++ b/pkgs/development/libraries/gsignond/plugins/sasl.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitLab, fetchpatch, pkgconfig, meson, ninja, glib, gsignond, gsasl, check
-, gtk-doc, docbook_xml_dtd_43, docbook_xml_dtd_45, docbook_xsl, glibcLocales, gobjectIntrospection }:
+, gtk-doc, docbook_xml_dtd_43, docbook_xml_dtd_45, docbook_xsl, glibcLocales, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "gsignond-plugin-sasl-${version}";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     docbook_xml_dtd_45
     docbook_xsl
     glibcLocales
-    gobjectIntrospection
+    gobject-introspection
     gtk-doc
     meson
     ninja
diff --git a/pkgs/development/libraries/gspell/default.nix b/pkgs/development/libraries/gspell/default.nix
index 0145272c281..776125a7537 100644
--- a/pkgs/development/libraries/gspell/default.nix
+++ b/pkgs/development/libraries/gspell/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, glib, gtk3, enchant2, isocodes, vala, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, libxml2, glib, gtk3, enchant2, isocodes, vala, gobject-introspection, gnome3 }:
 
 let
   pname = "gspell";
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ enchant2 ]; # required for pkgconfig
 
-  nativeBuildInputs = [ pkgconfig vala gobjectIntrospection libxml2 ];
+  nativeBuildInputs = [ pkgconfig vala gobject-introspection libxml2 ];
   buildInputs = [ glib gtk3 isocodes ];
 
   passthru = {
diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix
index 0d77018eee5..ed1e5b6faab 100644
--- a/pkgs/development/libraries/gssdp/default.nix
+++ b/pkgs/development/libraries/gssdp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, libsoup, gtk3, glib }:
+{ stdenv, fetchurl, pkgconfig, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, libsoup, gtk3, glib }:
 
 stdenv.mkDerivation rec {
   name = "gssdp-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1p1m2m3ndzr2whipqw4vfb6s6ia0g7rnzzc4pnq8b8g1qw4prqd1";
   };
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
   buildInputs = [ libsoup gtk3 ];
   propagatedBuildInputs = [ glib ];
 
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index c67526fb712..0acdf71fb72 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, lib
-, pkgconfig, meson, ninja, gettext, gobjectIntrospection
+, pkgconfig, meson, ninja, gettext, gobject-introspection
 , python3, gstreamer, orc, pango, libtheora
 , libintl, libopus
 , enableX11 ? stdenv.isLinux, libXv
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig python3 gettext gobjectIntrospection ]
+  nativeBuildInputs = [ pkgconfig python3 gettext gobject-introspection ]
 
   # Broken meson with Darwin. Should hopefully be fixed soon. Tracking
   # in https://bugzilla.gnome.org/show_bug.cgi?id=781148.
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index c1f2b2f006c..2c1faac387e 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, meson, ninja
-, pkgconfig, gettext, gobjectIntrospection
+, pkgconfig, gettext, gobject-introspection
 , bison, flex, python3, glib, makeWrapper
 , libcap,libunwind, darwin
 , lib
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   outputBin = "dev";
 
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext bison flex python3 makeWrapper gobjectIntrospection
+    meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
   ];
   buildInputs =
        lib.optionals stdenv.isLinux [ libcap libunwind ]
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 56d17b49cbb..6e1f2f4a2c5 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, meson, ninja
 , pkgconfig, python, gst-plugins-base, libxml2
-, flex, perl, gettext, gobjectIntrospection
+, flex, perl, gettext, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection python flex perl ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection python flex perl ];
 
   propagatedBuildInputs = [ gst-plugins-base libxml2 ];
 
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index 624b967765c..6236edec6a4 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig
-, gst-plugins-base, gettext, gobjectIntrospection
+, gst-plugins-base, gettext, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja gettext gobjectIntrospection pkgconfig ];
+  nativeBuildInputs = [ meson ninja gettext gobject-introspection pkgconfig ];
 
   buildInputs = [ gst-plugins-base ];
 }
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index abcdd0b9305..916185bf7ec 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gstreamer, gst-plugins-base
-, python, gobjectIntrospection, json-glib
+, python, gobject-introspection, json-glib
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
-    pkgconfig gobjectIntrospection
+    pkgconfig gobject-introspection
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 4bf42e1b5b6..266abe16c10 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gettext, glib, atk, pango, cairo, perl, xorg
-, gdk_pixbuf, xlibsWrapper, gobjectIntrospection
+, gdk_pixbuf, xlibsWrapper, gobject-introspection
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? true, cups ? null
 , gdktarget ? if stdenv.isDarwin then "quartz" else "x11"
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
-  nativeBuildInputs = [ setupHook perl pkgconfig gettext gobjectIntrospection ];
+  nativeBuildInputs = [ setupHook perl pkgconfig gettext gobject-introspection ];
 
   patches = [
     ./2.0-immodules.cache.patch
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index 015843c0539..421029a9d55 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, gettext, perl, makeWrapper, shared-mime-info
-, expat, glib, cairo, pango, gdk_pixbuf, atk, at-spi2-atk, gobjectIntrospection
+, expat, glib, cairo, pango, gdk_pixbuf, atk, at-spi2-atk, gobject-introspection
 , xorg, epoxy, json-glib, libxkbcommon, gmp, gnome3
 , x11Support ? stdenv.isLinux
 , waylandSupport ? stdenv.isLinux, mesa_noglu, wayland, wayland-protocols
@@ -13,20 +13,20 @@ assert cupsSupport -> cups != null;
 with stdenv.lib;
 
 let
-  version = "3.22.30";
+  version = "3.24.1";
 in
 stdenv.mkDerivation rec {
   name = "gtk+3-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "0rv5k8fyi2i19k4zncai6vf429s6zy3kncr8vb6f3m034z0sb951";
+    sha256 = "0bxhsp7cjph7szg1iyv16nwi60bz59x1smjkqv6sv6mr0zipnf38";
   };
 
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
-  nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl makeWrapper ];
+  nativeBuildInputs = [ pkgconfig gettext gobject-introspection perl makeWrapper ];
 
   patches = [
     ./3.0-immodules.cache.patch
diff --git a/pkgs/development/libraries/gtk-mac-integration/default.nix b/pkgs/development/libraries/gtk-mac-integration/default.nix
index 0171a4b6833..26d0b5c3595 100644
--- a/pkgs/development/libraries/gtk-mac-integration/default.nix
+++ b/pkgs/development/libraries/gtk-mac-integration/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig, glib, gtk-doc, gtk, gobjectIntrospection }:
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig, glib, gtk-doc, gtk, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "gtk-mac-integration-2.0.8";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1fbhnvj0rqc3089ypvgnpkp6ad2rr37v5qk38008dgamb9h7f3qs";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig gtk-doc gobjectIntrospection ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig gtk-doc gobject-introspection ];
   buildInputs = [ glib ];
   propagatedBuildInputs = [ gtk ];
 
diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix
index 9e1bc5363a1..58c8ebccc3c 100644
--- a/pkgs/development/libraries/gtksourceview/3.x.nix
+++ b/pkgs/development/libraries/gtksourceview/3.x.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango, vala_0_40
-, libxml2, perl, intltool, gettext, gnome3, gobjectIntrospection, dbus, xvfb_run, shared-mime-info }:
+, libxml2, perl, intltool, gettext, gnome3, gobject-introspection, dbus, xvfb_run, shared-mime-info }:
 
 let
   checkInputs = [ xvfb_run dbus ];
 in stdenv.mkDerivation rec {
   name = "gtksourceview-${version}";
-  version = "3.24.6";
+  version = "3.24.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtksourceview/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188";
+    sha256 = "1zinqid62zjcsq7vy1y4mq1qh3hzd3zj7p8np7g0bdqd37zvi6qy";
   };
 
   propagatedBuildInputs = [
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig intltool perl gobjectIntrospection vala_0_40 ]
+  nativeBuildInputs = [ pkgconfig intltool perl gobject-introspection vala_0_40 ]
     ++ stdenv.lib.optionals doCheck checkInputs;
 
   buildInputs = [ atk cairo glib pango libxml2 gettext ];
diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix
index 7cd9de4b06b..4ff1e999145 100644
--- a/pkgs/development/libraries/gtksourceview/4.x.nix
+++ b/pkgs/development/libraries/gtksourceview/4.x.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango, vala_0_40
-, libxml2, perl, gettext, gnome3, gobjectIntrospection, dbus, xvfb_run, shared-mime-info }:
+, libxml2, perl, gettext, gnome3, gobject-introspection, dbus, xvfb_run, shared-mime-info }:
 
 let
   checkInputs = [ xvfb_run dbus ];
 in stdenv.mkDerivation rec {
   name = "gtksourceview-${version}";
-  version = "4.0.0";
+  version = "4.0.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtksourceview/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0amkspjsvxr3rjznmnwjwsgw030hayf6bw49ya4nligslwl7lp3f";
+    sha256 = "0wwxgw43dmmaz07lzdzpladir26l2bly3lnf2ks6pna152wafm9x";
   };
 
   propagatedBuildInputs = [
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig gettext perl gobjectIntrospection vala_0_40 ]
+  nativeBuildInputs = [ pkgconfig gettext perl gobject-introspection vala_0_40 ]
     ++ stdenv.lib.optionals doCheck checkInputs;
 
   buildInputs = [ atk cairo glib pango libxml2 ];
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "gtksourceview";
-      attrPath = "gnome3.gtksourceview";
+      attrPath = "gtksourceview4";
     };
   };
 
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
index 11031511000..6d428837680 100644
--- a/pkgs/development/libraries/gtkspell/3.nix
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gtk3, aspell, pkgconfig, enchant2, isocodes, intltool, gobjectIntrospection, vala}:
+{stdenv, fetchurl, gtk3, aspell, pkgconfig, enchant2, isocodes, intltool, gobject-introspection, vala}:
 
 stdenv.mkDerivation rec {
   name = "gtkspell-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0cjp6xdcnzh6kka42w9g0w2ihqjlq8yl8hjm9wsfnixk6qwgch5h";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection vala ];
+  nativeBuildInputs = [ pkgconfig intltool gobject-introspection vala ];
   buildInputs = [ aspell gtk3 enchant2 isocodes ];
   propagatedBuildInputs = [ enchant2 ];
 
diff --git a/pkgs/development/libraries/gupnp-av/default.nix b/pkgs/development/libraries/gupnp-av/default.nix
index 7491da7c3e2..5e68a027470 100644
--- a/pkgs/development/libraries/gupnp-av/default.nix
+++ b/pkgs/development/libraries/gupnp-av/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, gupnp, glib, libxml2 }:
+{ stdenv, fetchurl, pkgconfig, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, gupnp, glib, libxml2 }:
 
 stdenv.mkDerivation rec {
   name = "gupnp-av-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0nmq6wlbfsssanv3jgv2z0nhfkv8vzfr3gq5qa8svryvvn2fyf40";
   };
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
   buildInputs = [ gupnp glib libxml2 ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/gupnp-dlna/default.nix b/pkgs/development/libraries/gupnp-dlna/default.nix
index aba95889b69..a6c11a569cf 100644
--- a/pkgs/development/libraries/gupnp-dlna/default.nix
+++ b/pkgs/development/libraries/gupnp-dlna/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, gupnp, gst_all_1 }:
+{ stdenv, fetchurl, pkgconfig, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, gupnp, gst_all_1 }:
 
 stdenv.mkDerivation rec {
   name = "gupnp-dlna-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj";
   };
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
   buildInputs = [ gupnp gst_all_1.gst-plugins-base ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/gupnp-igd/default.nix b/pkgs/development/libraries/gupnp-igd/default.nix
index 50107959786..05c8522aebc 100644
--- a/pkgs/development/libraries/gupnp-igd/default.nix
+++ b/pkgs/development/libraries/gupnp-igd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gettext, gobjectIntrospection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gupnp }:
+{ stdenv, fetchurl, pkgconfig, gettext, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gupnp }:
 
 stdenv.mkDerivation rec {
   name = "gupnp-igd-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "081v1vhkbz3wayv49xfiskvrmvnpx93k25am2wnarg5cifiiljlb";
   };
 
-  nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
+  nativeBuildInputs = [ pkgconfig gettext gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
   propagatedBuildInputs = [ glib gupnp ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index 45adf46ff36..648209125fe 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/pkgs/development/libraries/gupnp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_44, glib, gssdp, libsoup, libxml2, libuuid }:
+{ stdenv, fetchurl, pkgconfig, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_44, glib, gssdp, libsoup, libxml2, libuuid }:
 
 stdenv.mkDerivation rec {
   name = "gupnp-${version}";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     ./fix-requires.patch
   ];
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44 ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44 ];
   propagatedBuildInputs = [ glib gssdp libsoup libxml2 libuuid ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/gusb/default.nix b/pkgs/development/libraries/gusb/default.nix
index f445f90f308..78a2d365033 100644
--- a/pkgs/development/libraries/gusb/default.nix
+++ b/pkgs/development/libraries/gusb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gobjectIntrospection
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gobject-introspection
 , gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_44
 , glib, systemd, libusb1, vala, hwdata
 }:
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson ninja pkgconfig gettext
     gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44
-    gobjectIntrospection vala
+    gobject-introspection vala
   ];
   buildInputs = [ systemd glib ];
 
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 6bcf72b8a7e..03f4b0fe687 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,83 +1,59 @@
-{ stdenv, fetchurl, pkgconfig, gettext, gnome3
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gnome3, dbus
 , glib, libgudev, udisks2, libgcrypt, libcap, polkit
 , libgphoto2, avahi, libarchive, fuse, libcdio
 , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, samba, libmtp
 , gnomeSupport ? false, gnome, makeWrapper
 , libimobiledevice, libbluray, libcdio-paranoia, libnfs, openssh
 , libsecret, libgdata, python3
-# Remove when switching back to meson
-, autoreconfHook, lzma, bzip2
 }:
 
-# TODO: switch to meson when upstream fixes a non-deterministic build failure
-# See https://bugzilla.gnome.org/show_bug.cgi?id=794549
-
-# Meson specific things are commented out and annotated, so switching back
-# should simply require deleting autotools specific things and adding back meson
-# flags etc.
-
 let
   pname = "gvfs";
-  version = "1.36.2";
-in
-stdenv.mkDerivation rec {
+  version = "1.38.1";
+in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1xq105596sk9yram5a143b369wpaiiwc9gz86n0j1kfr7nipkqn4";
+    sha256 = "18311pn5kp9b4kf5prvhcjs0cwf7fm3mqh6s6p42avcr5j26l4zd";
   };
 
   postPatch = ''
+    # patchShebangs requires executable file
+    chmod +x codegen.py meson_post_install.py
+    patchShebangs meson_post_install.py
+    patchShebangs codegen.py
     patchShebangs test test-driver
   '';
 
-  # Uncomment when switching back to meson
-  # postPatch = ''
-  #   chmod +x meson_post_install.py # patchShebangs requires executable file
-  #   patchShebangs meson_post_install.py
-  # '';
-
   nativeBuildInputs = [
-    autoreconfHook # Remove when switching to meson
-    # meson ninja
+    meson ninja python3
     pkgconfig gettext makeWrapper
     libxml2 libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
-  buildInputs =
-    [ glib libgudev udisks2 libgcrypt
-      libgphoto2 avahi libarchive fuse libcdio
-      samba libmtp libcap polkit libimobiledevice libbluray
-      libcdio-paranoia libnfs openssh
-      # Remove when switching back to meson
-      lzma bzip2
-      # ToDo: a ligther version of libsoup to have FTP/HTTP support?
-    ] ++ stdenv.lib.optionals gnomeSupport (with gnome; [
-      libsoup gcr
-      gnome-online-accounts libsecret libgdata
-    ]);
+  buildInputs = [
+    glib libgudev udisks2 libgcrypt dbus
+    libgphoto2 avahi libarchive fuse libcdio
+    samba libmtp libcap polkit libimobiledevice libbluray
+    libcdio-paranoia libnfs openssh
+    # ToDo: a ligther version of libsoup to have FTP/HTTP support?
+  ] ++ stdenv.lib.optionals gnomeSupport (with gnome; [
+    libsoup gcr
+    gnome-online-accounts libsecret libgdata
+  ]);
 
-  # Remove when switching back to meson
-  configureFlags = stdenv.lib.optional (!gnomeSupport) "--disable-gcr";
-
-  # Uncomment when switching back to meson
-  # mesonFlags = [
-  #   "-Dgio_module_dir=${placeholder "out"}/lib/gio/modules"
-  #   "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
-  #   "-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/services"
-  #   "-Dtmpfilesdir=no"
-  # ] ++ stdenv.lib.optionals (!gnomeSupport) [
-  #   "-Dgcr=false" "-Dgoa=false" "-Dkeyring=false" "-Dhttp=false"
-  #   "-Dgoogle=false"
-  # ] ++ stdenv.lib.optionals (samba == null) [
-  #   # Xfce don't want samba
-  #   "-Dsmb=false"
-  # ];
-
-  enableParallelBuilding = true;
+  mesonFlags = [
+    "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
+    "-Dtmpfilesdir=no"
+  ] ++ stdenv.lib.optionals (!gnomeSupport) [
+    "-Dgcr=false" "-Dgoa=false" "-Dkeyring=false" "-Dhttp=false"
+    "-Dgoogle=false"
+  ] ++ stdenv.lib.optionals (samba == null) [
+    # Xfce don't want samba
+    "-Dsmb=false"
+  ];
 
-  checkInputs = [ python3 ];
   doCheck = false; # fails with "ModuleNotFoundError: No module named 'gi'"
   doInstallCheck = doCheck;
 
diff --git a/pkgs/development/libraries/ilmbase/cross.patch b/pkgs/development/libraries/ilmbase/cross.patch
new file mode 100644
index 00000000000..207a440a0d8
--- /dev/null
+++ b/pkgs/development/libraries/ilmbase/cross.patch
@@ -0,0 +1,35 @@
+From: Helmut Grohne <>
+Subject: compile build tools with the build architecture compiler
+
+Patch-Source: https://github.com/openexr/openexr/issues/221
+
+Index: ilmbase-2.2.0/configure.ac
+===================================================================
+--- ilmbase-2.2.0.orig/configure.ac
++++ ilmbase-2.2.0/configure.ac
+@@ -28,6 +28,7 @@
+ AC_PROG_LN_S
+ AC_PROG_LIBTOOL
+ AC_PROG_MAKE_SET
++AX_PROG_CXX_FOR_BUILD
+ 
+ dnl
+ dnl PKGCONFIG preparations
+Index: ilmbase-2.2.0/Half/Makefile.am
+===================================================================
+--- ilmbase-2.2.0.orig/Half/Makefile.am
++++ ilmbase-2.2.0/Half/Makefile.am
+@@ -17,9 +17,11 @@
+ 
+ CLEANFILES = eLut eLut.h toFloat toFloat.h
+ 
+-eLut_SOURCES = eLut.cpp
++eLut$(EXEEXT): eLut.cpp
++	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
+ 
+-toFloat_SOURCES = toFloat.cpp
++toFloat$(EXEEXT): toFloat.cpp
++	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
+ 
+ eLut.h:	eLut
+ 	./eLut > eLut.h
diff --git a/pkgs/development/libraries/ilmbase/default.nix b/pkgs/development/libraries/ilmbase/default.nix
index 3989e941b6b..98370f52e18 100644
--- a/pkgs/development/libraries/ilmbase/default.nix
+++ b/pkgs/development/libraries/ilmbase/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, automake, autoconf, libtool, which }:
+{ stdenv, fetchurl, buildPackages, automake, autoconf, libtool, which }:
 
 stdenv.mkDerivation rec {
   name = "ilmbase-${version}";
@@ -16,11 +16,12 @@ stdenv.mkDerivation rec {
     ./bootstrap
   '';
 
-  buildInputs = [ automake autoconf libtool which ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ automake autoconf libtool which ];
 
   NIX_CFLAGS_LINK = [ "-pthread" ];
 
-  patches = [ ./bootstrap.patch ];
+  patches = [ ./bootstrap.patch ./cross.patch ];
 
   # fails 1 out of 1 tests with
   # "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed"
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index be83dbc52f4..9a18b025fab 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,30 +1,22 @@
-{ stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext
-, gobjectIntrospection, fixDarwinDylibNames, gnome3
+{ stdenv, fetchurl, glib, meson, ninja, pkgconfig, gettext
+, gobject-introspection, fixDarwinDylibNames, gnome3
 }:
 
 let
   pname = "json-glib";
-  version = "1.4.2";
+  version = "1.4.4";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "2d7709a44749c7318599a6829322e081915bdc73f5be5045882ed120bb686dc8";
+    sha256 = "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j";
   };
 
   propagatedBuildInputs = [ glib ];
-  nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection ];
   buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  patches = [
-    # https://gitlab.gnome.org/GNOME/json-glib/issues/27
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/json-glib/merge_requests/2.diff";
-      sha256 = "0pf006jxj1ki7a0w4ykxm6b24m0wafrhpdcmixsw9x83m227156c";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/jsonrpc-glib/default.nix b/pkgs/development/libraries/jsonrpc-glib/default.nix
index a73122d8253..7eee8201f57 100644
--- a/pkgs/development/libraries/jsonrpc-glib/default.nix
+++ b/pkgs/development/libraries/jsonrpc-glib/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, meson, ninja, glib, json-glib, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, glib, json-glib, pkgconfig, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gnome3 }:
 let
-  version = "3.28.1";
+  version = "3.30.0";
   pname = "jsonrpc-glib";
 in
 stdenv.mkDerivation {
@@ -8,12 +8,12 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "dev" "devdoc" ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_43 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_43 ];
   buildInputs = [ glib json-glib ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0avff2ldjvwrb8rnzlgslagdjf6x7bmdx69rsq20k6f38icw4ang";
+    sha256 = "0z7v2kld9gyh0faarbs82vrdvg8h6a01x9mxlrwkxbghjgmq05w4";
   };
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index afb928aff6e..165f9139ff1 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
     description = "MIT Kerberos 5";
     homepage = http://web.mit.edu/kerberos/;
     license = licenses.mit;
-    platforms = platforms.unix;
+    platforms = platforms.unix ++ platforms.windows;
     maintainers = with maintainers; [ wkennington ];
   };
 
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index 20ab104874d..abbb2457f6a 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3
-, gtk-doc, gtk2, python2Packages, lua, gobjectIntrospection
+, gtk-doc, gtk2, python2Packages, lua, gobject-introspection
 }:
 
 let
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     autoconf automake libtool gnome3.gnome-common gtk-doc gtk2
-    python pygtk lua gobjectIntrospection
+    python pygtk lua gobject-introspection
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix
index fe7482ed56e..91ad59ad27a 100644
--- a/pkgs/development/libraries/keybinder3/default.nix
+++ b/pkgs/development/libraries/keybinder3/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, gnome3
-, gtk-doc, gtk3, libX11, libXext, libXrender, gobjectIntrospection
+, gtk-doc, gtk3, libX11, libXext, libXrender, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
   buildInputs = [
     gnome3.gnome-common gtk-doc gtk3
-    libX11 libXext libXrender gobjectIntrospection
+    libX11 libXext libXrender gobject-introspection
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/lasso/default.nix b/pkgs/development/libraries/lasso/default.nix
index 873ccc5665d..54d33e5f425 100644
--- a/pkgs/development/libraries/lasso/default.nix
+++ b/pkgs/development/libraries/lasso/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, autoconf, automake, autoreconfHook, fetchurl, glib, gobjectIntrospection, gtk-doc, libtool, libxml2, libxslt, openssl, pkgconfig, python27Packages, xmlsec, zlib }:
+{ stdenv, autoconf, automake, autoreconfHook, fetchurl, glib, gobject-introspection, gtk-doc, libtool, libxml2, libxslt, openssl, pkgconfig, python27Packages, xmlsec, zlib }:
 
 stdenv.mkDerivation rec {
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ autoconf automake glib gobjectIntrospection gtk-doc libtool libxml2 libxslt openssl python27Packages.six xmlsec zlib ];
+  buildInputs = [ autoconf automake glib gobject-introspection gtk-doc libtool libxml2 libxslt openssl python27Packages.six xmlsec zlib ];
 
   configurePhase = ''
     ./configure --with-pkg-config=$PKG_CONFIG_PATH \
diff --git a/pkgs/development/libraries/libaccounts-glib/default.nix b/pkgs/development/libraries/libaccounts-glib/default.nix
index e8e23ed5ffb..525ec6e35f6 100644
--- a/pkgs/development/libraries/libaccounts-glib/default.nix
+++ b/pkgs/development/libraries/libaccounts-glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitLab, meson, ninja, glib, check, python3, vala, gtk-doc, glibcLocales
-, libxml2, libxslt, pkgconfig, sqlite, docbook_xsl, docbook_xml_dtd_43, gobjectIntrospection }:
+, libxml2, libxslt, pkgconfig, sqlite, docbook_xsl, docbook_xml_dtd_43, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "libaccounts-glib-${version}";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     docbook_xml_dtd_43
     docbook_xsl
     glibcLocales
-    gobjectIntrospection
+    gobject-introspection
     gtk-doc
     meson
     ninja
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 8bf0e4bcb93..46cc30a8944 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -5,7 +5,7 @@
 , glib, dbus-glib, gtkVersion ? "3"
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, python2Packages, gobjectIntrospection, vala
+, python2Packages, gobject-introspection, vala
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus-glib
-    python pygobject2 pygtk gobjectIntrospection vala
+    python pygobject2 pygtk gobject-introspection vala
   ] ++ (if gtkVersion == "2"
     then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
     else [ libindicator-gtk3 ]);
diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix
index b99a3c7059a..eb38c2e38a6 100644
--- a/pkgs/development/libraries/libblockdev/default.nix
+++ b/pkgs/development/libraries/libblockdev/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk-doc, libxslt, docbook_xsl
-, docbook_xml_dtd_43, python3, gobjectIntrospection, glib, udev, kmod, parted, libyaml
+, docbook_xml_dtd_43, python3, gobject-introspection, glib, udev, kmod, parted, libyaml
 , cryptsetup, lvm2, dmraid, utillinux, libbytesize, libndctl, nss, volume_key
 }:
 
@@ -22,7 +22,7 @@ in stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
-    autoreconfHook pkgconfig gtk-doc libxslt docbook_xsl docbook_xml_dtd_43 python3 gobjectIntrospection
+    autoreconfHook pkgconfig gtk-doc libxslt docbook_xsl docbook_xml_dtd_43 python3 gobject-introspection
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
index 95b1ad074b0..b8d25f48b3b 100644
--- a/pkgs/development/libraries/libchamplain/default.nix
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, glib, gtk3, cairo, sqlite, gnome3
-, clutter-gtk, libsoup, gobjectIntrospection /*, libmemphis */ }:
+, clutter-gtk, libsoup, gobject-introspection /*, libmemphis */ }:
 
 let
   pname = "libchamplain";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection ];
 
   propagatedBuildInputs = [ glib gtk3 cairo clutter-gtk sqlite libsoup ];
 
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index 516702e2afe..2db78f82292 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ libevent openssl ];
 
   doCheck = !stdenv.isDarwin;
-  checkPhase = "ctest";
 
   meta = with stdenv.lib; {
     description = "C client library for Couchbase";
diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix
index 0b06aef9524..bef7a161dd3 100644
--- a/pkgs/development/libraries/libdazzle/default.nix
+++ b/pkgs/development/libraries/libdazzle/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, ninja, meson, pkgconfig, vala, gobjectIntrospection, libxml2
-, gtk-doc, docbook_xsl, dbus, xvfb_run, glib, gtk3, gnome3 }:
+{ stdenv, fetchurl, ninja, meson, pkgconfig, vala, gobject-introspection, libxml2
+, gtk-doc, docbook_xsl, docbook_xml_dtd_43, glibcLocales, dbus, xvfb_run, glib, gtk3, gnome3 }:
 
 let
-  version = "3.28.5";
+  version = "3.30.2";
   pname = "libdazzle";
 in
 stdenv.mkDerivation {
@@ -13,17 +13,20 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08qdwv2flywnh6kibkyv0pnm67pk8xlmjh4yqx6hf13hyhkxkqgg";
+    sha256 = "1m9n1gcxndly24rjkxzvmx02a2rkb6ad4cy7p6ncanm1kyp0wxvq";
   };
 
-  nativeBuildInputs = [ ninja meson pkgconfig vala gobjectIntrospection libxml2 gtk-doc docbook_xsl dbus xvfb_run ];
+  nativeBuildInputs = [ ninja meson pkgconfig vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 glibcLocales dbus xvfb_run ];
   buildInputs = [ glib gtk3 ];
 
   mesonFlags = [
     "-Denable_gtk_doc=true"
   ];
 
-  doCheck = true;
+  LC_ALL = "en_US.UTF-8";
+
+  # https://gitlab.gnome.org/GNOME/libdazzle/issues/25
+  doCheck = false;
 
   checkPhase = ''
     export NO_AT_BRIDGE=1
diff --git a/pkgs/development/libraries/libdbusmenu/default.nix b/pkgs/development/libraries/libdbusmenu/default.nix
index 730cef6f696..8fbbae43f61 100644
--- a/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/pkgs/development/libraries/libdbusmenu/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, lib, file
 , pkgconfig, intltool
 , glib, dbus-glib, json-glib
-, gobjectIntrospection, vala_0_38, gnome-doc-utils
+, gobject-introspection, vala_0_38, gnome-doc-utils
 , gtkVersion ? null, gtk2 ? null, gtk3 ? null }:
 
 with lib;
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus-glib json-glib
-    gobjectIntrospection vala_0_38 gnome-doc-utils
+    gobject-introspection vala_0_38 gnome-doc-utils
   ] ++ optional (gtkVersion != null) (if gtkVersion == "2" then gtk2 else gtk3);
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index 2ef1d3965ce..7998655e46b 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "libevdev-1.5.9";
+  name = "libevdev-1.6.0";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libevdev/${name}.tar.xz";
-    sha256 = "0xca343ff12wh6nsq76r0nbsfrm8dypjrzm4fqz9vv9v8i8kfrp1";
+    sha256 = "057qdrwbhql2lvr4kxljk3yqjsmh65hyrfbr2b681nc7b635q07m";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/development/libraries/libgrss/default.nix b/pkgs/development/libraries/libgrss/default.nix
index 548114b642f..430ebcfd309 100644
--- a/pkgs/development/libraries/libgrss/default.nix
+++ b/pkgs/development/libraries/libgrss/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, vala, gobjectIntrospection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, vala, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome3 }:
 
 let
   version = "0.7.0";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
     sha256 = "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7";
   };
 
-  nativeBuildInputs = [ pkgconfig vala gobjectIntrospection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
+  nativeBuildInputs = [ pkgconfig vala gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
   buildInputs = [ glib libxml2 libsoup ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libgtop/default.nix b/pkgs/development/libraries/libgtop/default.nix
index bab7ede2d6e..fcc76938b3e 100644
--- a/pkgs/development/libraries/libgtop/default.nix
+++ b/pkgs/development/libraries/libgtop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, glib, pkgconfig, perl, gettext, gobjectIntrospection, libtool, gnome3, gtk-doc }:
+{ stdenv, fetchurl, fetchpatch, glib, pkgconfig, perl, gettext, gobject-introspection, libtool, gnome3, gtk-doc }:
 let
   pname = "libgtop";
   version = "2.38.0";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   ];
 
   propagatedBuildInputs = [ glib ];
-  nativeBuildInputs = [ pkgconfig gnome3.gnome-common libtool gtk-doc perl gettext gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gnome3.gnome-common libtool gtk-doc perl gettext gobject-introspection ];
 
   preConfigure = ''
     ./autogen.sh
diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix
index e07622eb13a..d3dea766cbb 100644
--- a/pkgs/development/libraries/libgudev/default.nix
+++ b/pkgs/development/libraries/libgudev/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, glib, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, udev, glib, gobject-introspection, gnome3 }:
 
 let
   pname = "libgudev";
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
     sha256 = "ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860";
   };
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection ];
   buildInputs = [ udev glib ];
 
   # There's a dependency cycle with umockdev and the tests fail to LD_PRELOAD anyway.
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
new file mode 100644
index 00000000000..7e80ec817d1
--- /dev/null
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchFromGitLab, meson, ninja, pkgconfig, gobject-introspection, vala
+, gtk-doc, docbook_xsl, docbook_xml_dtd_43
+, gtk3, gnome3
+, dbus, xvfb_run, libxml2
+}:
+
+let
+  pname = "libhandy";
+  version = "0.0.5";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" "devdoc" "glade" ];
+  outputBin = "dev";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0h25ckdfx3slc2mn4vi06bhw42nrqpzn75i9d7wby9iq0cl13l08";
+  };
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig gobject-introspection vala
+    gtk-doc docbook_xsl docbook_xml_dtd_43
+  ];
+  buildInputs = [ gnome3.gnome-desktop gtk3 gnome3.glade libxml2 ];
+  checkInputs = [ dbus xvfb_run ];
+
+  mesonFlags = [
+    "-Dgtk_doc=true"
+  ];
+
+  PKG_CONFIG_GLADEUI_2_0_MODULEDIR = "${placeholder "glade"}/lib/glade/modules";
+  PKG_CONFIG_GLADEUI_2_0_CATALOGDIR = "${placeholder "glade"}/share/glade/catalogs";
+
+  doCheck = true;
+
+  checkPhase = ''
+    export NO_AT_BRIDGE=1
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      meson test --print-errorlogs
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library full of GTK+ widgets for mobile phones";
+    homepage = https://source.puri.sm/Librem5/libhandy;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libhttpseverywhere/default.nix b/pkgs/development/libraries/libhttpseverywhere/default.nix
index 81e5f0fe73e..c1ec533ba5b 100644
--- a/pkgs/development/libraries/libhttpseverywhere/default.nix
+++ b/pkgs/development/libraries/libhttpseverywhere/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, meson, ninja, makeFontsConf
-, gnome3, glib, json-glib, libarchive, libsoup, gobjectIntrospection }:
+{ stdenv, fetchurl, pkgconfig, meson, ninja, makeFontsConf, vala_0_40
+, gnome3, glib, json-glib, libarchive, libsoup, gobject-introspection }:
 
 let
   pname = "libhttpseverywhere";
@@ -12,7 +12,8 @@ in stdenv.mkDerivation rec {
     sha256 = "1jmn6i4vsm89q1axlq4ajqkzqmlmjaml9xhw3h9jnal46db6y00w";
   };
 
-  nativeBuildInputs = [ gnome3.vala gobjectIntrospection meson ninja pkgconfig ];
+  # Broken with newest Vala https://gitlab.gnome.org/GNOME/libhttpseverywhere/issues/1
+  nativeBuildInputs = [ vala_0_40 gobject-introspection meson ninja pkgconfig ];
   buildInputs = [ glib gnome3.libgee json-glib libsoup libarchive ];
 
   mesonFlags = [ "-Denable_valadoc=true" ];
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 718233b0ffa..9d892069b26 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, perl, pkgconfig, cmake, ninja, vala, gobjectIntrospection
+{ stdenv, fetchFromGitHub, perl, pkgconfig, cmake, ninja, vala, gobject-introspection
 , python3, tzdata, gtk-doc, docbook_xsl, docbook_xml_dtd_43, glib, libxml2, icu }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    perl pkgconfig cmake ninja vala gobjectIntrospection
+    perl pkgconfig cmake ninja vala gobject-introspection
     (python3.withPackages (pkgs: with pkgs; [ pygobject3 ])) # running libical-glib tests
     gtk-doc docbook_xsl docbook_xml_dtd_43 # docs
   ];
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
   # Using install check so we do not have to manually set
   # LD_LIBRARY_PATH and GI_TYPELIB_PATH variables
   doInstallCheck = true;
+  enableParallelChecking = false;
   installCheckPhase = ''
     runHook preInstallCheck
 
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
index 1f5ee90337a..f6dc85b629d 100644
--- a/pkgs/development/libraries/libindicate/default.nix
+++ b/pkgs/development/libraries/libindicate/default.nix
@@ -4,7 +4,7 @@
 , pkgconfig, autoconf
 , glib, dbus-glib, libdbusmenu
 , gtkVersion ? "3", gtk2 ? null, gtk3 ? null
-, pythonPackages, gobjectIntrospection, vala, gnome-doc-utils
+, pythonPackages, gobject-introspection, vala, gnome-doc-utils
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
     sha256 = "10am0ymajx633b33anf6b79j37k61z30v9vaf5f9fwk1x5cw1q21";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf gobjectIntrospection vala gnome-doc-utils ];
+  nativeBuildInputs = [ pkgconfig autoconf gobject-introspection vala gnome-doc-utils ];
 
   buildInputs = [
     glib dbus-glib libdbusmenu
diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix
index 78c0fd6fb26..c57590aad21 100644
--- a/pkgs/development/libraries/libinfinity/default.nix
+++ b/pkgs/development/libraries/libinfinity/default.nix
@@ -1,7 +1,7 @@
 { gtkWidgets ? false # build GTK widgets for libinfinity
 , avahiSupport ? false # build support for Avahi in libinfinity
 , stdenv, fetchurl, pkgconfig, glib, libxml2, gnutls, gsasl
-, gobjectIntrospection
+, gobject-introspection
 , gtk3 ? null, gtk-doc, docbook_xsl, docbook_xml_dtd_412, avahi ? null, libdaemon, libidn, gss
 , libintl }:
 
@@ -21,7 +21,7 @@ let
 
     outputs = [ "bin" "out" "dev" "man" "devdoc" ];
 
-    nativeBuildInputs = [ pkgconfig gtk-doc docbook_xsl docbook_xml_dtd_412 gobjectIntrospection ];
+    nativeBuildInputs = [ pkgconfig gtk-doc docbook_xsl docbook_xml_dtd_412 gobject-introspection ];
     buildInputs = [ glib libxml2 gsasl libidn gss libintl libdaemon ]
       ++ stdenv.lib.optional gtkWidgets gtk3
       ++ stdenv.lib.optional avahiSupport avahi;
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 84c6c96ea5d..4e654168d4b 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -1,14 +1,13 @@
-{ stdenv, fetchurl, nasm
-}:
+{ stdenv, fetchurl, cmake, nasm }:
 
 stdenv.mkDerivation rec {
   name = "libjpeg-turbo-${version}";
-  version = "1.5.3";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/libjpeg-turbo/${name}.tar.gz";
-    sha256 = "08r5b5mywwrxv4axvq80dm31cklz81grczlzlxr2xqa6pgi90j5j";
-  }; # github releases still need autotools, surprisingly
+    sha256 = "1zv6z093l3x3jzygvni7b819j7xhn6d63jhcdrckj7fz67n6ry75";
+  };
 
   patches =
     stdenv.lib.optional (stdenv.hostPlatform.libc or null == "msvcrt")
@@ -16,12 +15,20 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" "man" "doc" ];
 
-  nativeBuildInputs = [ nasm ];
+  nativeBuildInputs = [ cmake nasm ];
 
-  enableParallelBuilding = true;
+  preConfigure = ''
+    cmakeFlagsArray+=(
+      "-DCMAKE_INSTALL_BINDIR=$bin/bin"
+      "-DENABLE_STATIC=0"
+    )
+  '';
 
   doCheck = true; # not cross;
   checkTarget = "test";
+  preCheck = ''
+    export LD_LIBRARY_PATH="$NIX_BUILD_TOP/${name}:$LD_LIBRARY_PATH"
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://libjpeg-turbo.virtualgl.org/;
diff --git a/pkgs/development/libraries/liblangtag/default.nix b/pkgs/development/libraries/liblangtag/default.nix
index d57d75c5cae..6a9cab16e7e 100644
--- a/pkgs/development/libraries/liblangtag/default.nix
+++ b/pkgs/development/libraries/liblangtag/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, fetchFromBitbucket, autoreconfHook, gtkdoc, gettext
-, pkgconfig, glib, libxml2, gobjectIntrospection, gnome-common, unzip
+, pkgconfig, glib, libxml2, gobject-introspection, gnome-common, unzip
 }:
 
 stdenv.mkDerivation rec {
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     ''--with-locale-alias=${stdenv.cc.libc}/share/locale/locale.alias''
   ];
 
-  buildInputs = [ gettext glib libxml2 gobjectIntrospection gnome-common
+  buildInputs = [ gettext glib libxml2 gobject-introspection gnome-common
     unzip ];
   nativeBuildInputs = [ autoreconfHook gtkdoc gettext pkgconfig ];
 
diff --git a/pkgs/development/libraries/libmanette/default.nix b/pkgs/development/libraries/libmanette/default.nix
index 51d2e49eb35..258fbc2657b 100644
--- a/pkgs/development/libraries/libmanette/default.nix
+++ b/pkgs/development/libraries/libmanette/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ninja, meson, pkgconfig, vala, gobjectIntrospection
+{ stdenv, fetchurl, ninja, meson, pkgconfig, vala, gobject-introspection
 , glib, libgudev, libevdev, gnome3 }:
 
 let
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     sha256 = "14vqz30p4693yy3yxs0gj858x25sl2kawib1g9lj8g5frgl0hd82";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig vala gobject-introspection ];
   buildInputs = [ glib libgudev libevdev ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
index 42bcf5b6474..6653025eb05 100644
--- a/pkgs/development/libraries/libmx/default.nix
+++ b/pkgs/development/libraries/libmx/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , libtool, pkgconfig, automake, autoconf, intltool
-, glib, gobjectIntrospection, gtk2, gtk-doc
+, glib, gobject-introspection, gtk2, gtk-doc
 , clutter, clutter-gtk
 }:
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     automake autoconf libtool
     intltool
-    gobjectIntrospection glib
+    gobject-introspection glib
     gtk2 gtk-doc clutter clutter-gtk
   ];
 
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index 11f2731eb72..d427f7decf8 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook
-, glib, gdk_pixbuf, gobjectIntrospection }:
+, glib, gdk_pixbuf, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   ver_maj = "0.7";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   # disable tests as we don't need to depend on gtk+(2/3)
   configureFlags = [ "--disable-tests" ];
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook gobject-introspection ];
   buildInputs = [ glib gdk_pixbuf ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index d4c324d4f23..e0f3be23070 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gobjectIntrospection, gtk-doc, docbook_xsl
+{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gobject-introspection, gtk-doc, docbook_xsl
 , glib, libsoup, libxml2, libxslt, check, curl, perl, hwdata, osinfo-db, vala ? null
 }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "devdoc" ];
 
   nativeBuildInputs = [
-    pkgconfig vala intltool gobjectIntrospection gtk-doc docbook_xsl
+    pkgconfig vala intltool gobject-introspection gtk-doc docbook_xsl
   ];
   buildInputs = [ glib libsoup libxml2 libxslt ];
   checkInputs = [ check curl perl ];
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index f5c92e11c35..65da1f8e9d1 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, docbook_xsl, gtk-doc, icu
-, libxslt, pkgconfig, python2 }:
+{ stdenv, fetchFromGitHub, autoreconfHook, docbook_xsl, docbook_xml_dtd_43, gtk-doc, icu
+, libxslt, pkgconfig, python3 }:
 
 let
 
@@ -11,21 +11,21 @@ let
     owner = "publicsuffix";
   };
 
-  libVersion = "0.17.0";
+  libVersion = "0.20.2";
 
 in stdenv.mkDerivation rec {
   name = "libpsl-${version}";
   version = "${libVersion}-list-${listVersion}";
 
   src = fetchFromGitHub {
-    sha256 = "08dbl6ihnlf0kj4c9pdpjv9mmw7p676pzh1q184wl32csra5pzdd";
+    sha256 = "0ijingxpnvl5xnna32j93ijagvjsvw2lhj71q39hz9xhzjzrda9b";
     rev = "libpsl-${libVersion}";
     repo = "libpsl";
     owner = "rockdaboot";
   };
 
   buildInputs = [ icu libxslt ];
-  nativeBuildInputs = [ autoreconfHook docbook_xsl gtk-doc pkgconfig python2 ];
+  nativeBuildInputs = [ autoreconfHook docbook_xsl docbook_xml_dtd_43 gtk-doc pkgconfig python3 ];
 
   postPatch = ''
     substituteInPlace src/psl.c --replace bits/stat.h sys/stat.h
@@ -33,7 +33,6 @@ in stdenv.mkDerivation rec {
   '';
 
   preAutoreconf = ''
-    mkdir m4
     gtkdocize
   '';
 
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 7c94919f344..5a5fa3e279a 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -1,18 +1,18 @@
 { lib, stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf
 , bzip2, libcroco, libintl, darwin, rust, gnome3
 , withGTK ? false, gtk3 ? null
-, vala, gobjectIntrospection }:
+, vala, gobject-introspection }:
 
 let
   pname = "librsvg";
-  version = "2.42.4";
+  version = "2.44.9";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1qsd0j7s97ab5fzy5b5gix5b7hbw57cr46ia8pkcrr4ylsi80li2";
+    sha256 = "1ivg7cz7zlfjhnxvp7z2344r8r0z02mjh4mpgy823az6ps62igwj";
   };
 
   outputs = [ "out" "dev" "installedTests" ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib gdk_pixbuf cairo ] ++ lib.optional withGTK gtk3;
 
-  nativeBuildInputs = [ pkgconfig rust.rustc rust.cargo vala gobjectIntrospection ]
+  nativeBuildInputs = [ pkgconfig rust.rustc rust.cargo vala gobject-introspection ]
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
       ApplicationServices
     ]);
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 4fc0d6688d4..5b3a00b12d4 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,30 +1,39 @@
-{ stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, docbook_xsl
-, libgcrypt, gobjectIntrospection, vala_0_38, gnome3, libintl }:
+{ stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, python3, docbook_xsl, docbook_xml_dtd_42
+, libgcrypt, gobject-introspection, vala, gtk-doc, gnome3, libintl, dbus, xvfb_run }:
 
 stdenv.mkDerivation rec {
   pname = "libsecret";
-  version = "0.18.5";
+  version = "0.18.6";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww";
+    sha256 = "0vynag97a9bnnb8ipah45av8xg8jzmhd572rw3zj78s1pa8ciysy";
   };
 
   postPatch = ''
     patchShebangs .
   '';
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   propagatedBuildInputs = [ glib ];
-  nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl libintl ];
-  buildInputs = [ libgcrypt gobjectIntrospection vala_0_38 ];
+  nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl docbook_xml_dtd_42 libintl gobject-introspection vala gtk-doc ];
+  buildInputs = [ libgcrypt ];
   # optional: build docs with gtk-doc? (probably needs a flag as well)
 
-  # checkInputs = [ python2 ];
+  enableParallelBuilding = true;
 
-  doCheck = false; # fails. with python3 tests fail to evaluate, with python2 they fail to run python3
+  installCheckInputs = [ python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb_run dbus gnome3.gjs ];
+
+  # needs to run after install because typelibs point to absolute paths
+  doInstallCheck = false; # Failed to load shared library '/force/shared/libmock_service.so.0' referenced by the typelib
+  installCheckPhase = ''
+    export NO_AT_BRIDGE=1
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      make check
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/development/libraries/libsignon-glib/default.nix b/pkgs/development/libraries/libsignon-glib/default.nix
index 32e58dcac4b..c7f49a6f6dc 100644
--- a/pkgs/development/libraries/libsignon-glib/default.nix
+++ b/pkgs/development/libraries/libsignon-glib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, meson, ninja, vala, python3, gtk-doc, docbook_xsl, docbook_xml_dtd_43, docbook_xml_dtd_412, glib, check, gobjectIntrospection }:
+{ stdenv, fetchgit, pkgconfig, meson, ninja, vala, python3, gtk-doc, docbook_xsl, docbook_xml_dtd_43, docbook_xml_dtd_412, glib, check, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   pname = "libsignon-glib";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     docbook_xml_dtd_412
     docbook_xml_dtd_43
     docbook_xsl
-    gobjectIntrospection
+    gobject-introspection
     gtk-doc
     meson
     ninja
diff --git a/pkgs/development/libraries/libskk/default.nix b/pkgs/development/libraries/libskk/default.nix
index cf943d45b4d..19ebbd363e1 100644
--- a/pkgs/development/libraries/libskk/default.nix
+++ b/pkgs/development/libraries/libskk/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub,
   libtool, gettext, pkgconfig,
-  vala, gnome-common, gobjectIntrospection,
+  vala, gnome-common, gobject-introspection,
   libgee, json-glib, skk-dicts, libxkbcommon }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ skk-dicts libxkbcommon ];
-  nativeBuildInputs = [ vala gnome-common gobjectIntrospection libtool gettext pkgconfig ];
+  nativeBuildInputs = [ vala gnome-common gobject-introspection libtool gettext pkgconfig ];
   propagatedBuildInputs = [ libgee json-glib ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 9849e2600bb..e59282553fb 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,39 +1,35 @@
-{ stdenv, fetchurl, glib, libxml2, pkgconfig, gnome3
-, gnomeSupport ? true, sqlite, glib-networking, gobjectIntrospection
-, valaSupport ? true, vala_0_40
-, intltool, python3 }:
+{ stdenv, fetchurl, glib, libxml2, meson, ninja, pkgconfig, gnome3
+, gnomeSupport ? true, sqlite, glib-networking, gobject-introspection, vala
+, libpsl, python3 }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "libsoup";
-  version = "2.62.2";
+  version = "2.64.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1dkrz1iwsswscayfmjxqv2q00b87snlq9nxdccn5vck0vbinylwy";
+    sha256 = "1il6lyrmfi0hfh3ysw8w1qzc1rdz0igkb7dv6d8g5mmilnac3pbm";
   };
 
   postPatch = ''
     patchShebangs libsoup/
-  '' + stdenv.lib.optionalString valaSupport ''
-     substituteInPlace libsoup/Makefile.in --replace "\$(DESTDIR)\$(vapidir)" "\$(DESTDIR)\$(girdir)/../vala/vapi"
   '';
 
   outputs = [ "out" "dev" ];
 
-  buildInputs = [ python3 sqlite ];
-  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ]
-    ++ stdenv.lib.optionals valaSupport [ vala_0_40 ];
+  buildInputs = [ python3 sqlite libpsl ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection vala ];
   propagatedBuildInputs = [ glib libxml2 ];
 
-  # glib-networking is a runtime dependency, not a compile-time dependency
-  configureFlags = [
-    "--disable-tls-check"
-    "--enable-vala=${if valaSupport then "yes" else "no"}"
-    "--with-gnome=${if gnomeSupport then "yes" else "no"}"
+  mesonFlags = [
+    "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency
+    "-Dgssapi=false"
+    "-Dvapi=true"
+    "-Dgnome=${if gnomeSupport then "true" else "false"}"
   ];
 
-  doCheck = false; # fails with "no: command not found"
+  doCheck = false; # ERROR:../tests/socket-test.c:37:do_unconnected_socket_test: assertion failed (res == SOUP_STATUS_OK): (2 == 200)
 
   passthru = {
     propagatedUserEnvPackages = [ glib-networking.out ];
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index 4a8dfc40d4a..026674e44fc 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -31,7 +31,6 @@ let
 
     doCheck = false; # hangs, tries to access the net?
     checkInputs = [ check ];
-    checkPhase = "ctest";
 
     meta = with stdenv.lib; {
       description = "P2P FOSS instant messaging application aimed to replace Skype";
diff --git a/pkgs/development/libraries/libunique/3.x.nix b/pkgs/development/libraries/libunique/3.x.nix
index 1a4f16046fc..a072591ca9d 100644
--- a/pkgs/development/libraries/libunique/3.x.nix
+++ b/pkgs/development/libraries/libunique/3.x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, dbus, dbus-glib, gtk3, gobjectIntrospection
+, dbus, dbus-glib, gtk3, gobject-introspection
 , gtkdoc, docbook_xml_dtd_45, docbook_xsl
 , libxslt, libxml2 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ dbus dbus-glib gtk3 gobjectIntrospection gtkdoc docbook_xml_dtd_45 docbook_xsl libxslt libxml2 ];
+  buildInputs = [ dbus dbus-glib gtk3 gobject-introspection gtkdoc docbook_xml_dtd_45 docbook_xsl libxslt libxml2 ];
 
   meta = {
     homepage = https://wiki.gnome.org/Attic/LibUnique;
diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix
index 2bb53dd2b97..8559731d707 100644
--- a/pkgs/development/libraries/libunique/default.nix
+++ b/pkgs/development/libraries/libunique/default.nix
@@ -7,6 +7,8 @@ stdenv.mkDerivation rec {
     sha256 = "1fsgvmncd9caw552lyfg8swmsd6bh4ijjsph69bwacwfxwf09j75";
   };
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   # patches from Gentoo portage
   patches = [
     ./1.1.6-compiler-warnings.patch
diff --git a/pkgs/development/libraries/libunity/default.nix b/pkgs/development/libraries/libunity/default.nix
index f9f0b2b6555..52f01229c4a 100644
--- a/pkgs/development/libraries/libunity/default.nix
+++ b/pkgs/development/libraries/libunity/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, automake, autoconf, libtool
-, glib, vala, dee, gobjectIntrospection, libdbusmenu
+, glib, vala, dee, gobject-introspection, libdbusmenu
 , gtk3, intltool, gnome-common, python3, icu }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     autoconf
     automake
     gnome-common
-    gobjectIntrospection
+    gobject-introspection
     intltool
     libtool
     pkgconfig
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index d26b830e249..74c3d24560c 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libvirt, glib, libxml2, intltool, libtool, yajl
-, nettle, libgcrypt, pythonPackages, gobjectIntrospection, libcap_ng, numactl
+, nettle, libgcrypt, pythonPackages, gobject-introspection, libcap_ng, numactl
 , xen, libapparmor, vala
 }:
 
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig vala ];
   buildInputs = [
     libvirt glib libxml2 intltool libtool yajl nettle libgcrypt
-    python pygobject2 gobjectIntrospection libcap_ng numactl libapparmor
+    python pygobject2 gobject-introspection libcap_ng numactl libapparmor
   ] ++ stdenv.lib.optionals stdenv.isx86_64 [
     xen
   ];
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 8cd0536e294..0e8533a5639 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libwebp-${version}";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchurl {
     url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz";
-    sha256 = "0nr2hd4iv61fphdbx49g96a56jkmdm9n2qss7jpkg1pii11rq9c4";
+    sha256 = "08nr124aqlfpmdawpfizp56x93pvhr0v741fz78s1zyv49a4lx4c";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index 3137ac2c8f2..eb591d4e184 100644
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ b/pkgs/development/libraries/libwnck/3.x.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool, gobjectIntrospection, gnome3}:
+{stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool, gobject-introspection, gnome3}:
 
 let
   pname = "libwnck";
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec{
 
   configureFlags = [ "--enable-introspection" ];
 
-  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
   propagatedBuildInputs = [ libX11 gtk3 ];
 
   PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0";
diff --git a/pkgs/development/libraries/libxklavier/default.nix b/pkgs/development/libraries/libxklavier/default.nix
index 263796cdc78..773389e60f5 100644
--- a/pkgs/development/libraries/libxklavier/default.nix
+++ b/pkgs/development/libraries/libxklavier/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, autoreconfHook, pkgconfig, gtk-doc, xkeyboard_config, libxml2, xorg, docbook_xsl
-, glib, isocodes, gobjectIntrospection }:
+, glib, isocodes, gobject-introspection }:
 
 let
   version = "5.4";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig gtk-doc docbook_xsl ];
 
-  buildInputs = [ gobjectIntrospection ];
+  buildInputs = [ gobject-introspection ];
 
   preAutoreconf = ''
     export NOCONFIGURE=1
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index a6b935fb826..faf1261da4a 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -67,7 +67,7 @@ let
 in
 
 let
-  version = "18.2.5";
+  version = "18.2.6";
   branch  = head (splitString "." version);
 in
 
@@ -81,7 +81,7 @@ let self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "0wrbdk988mh42bbpicf5knx5pdqs3xp05s71alqkbr9j523k4b5i";
+    sha256 = "04nwxykmc80gicmal0zkk8is34rmbqawmfckirqhrps9h97zmfly";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index d4c859db289..39fdb6d4eb2 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -18,15 +18,13 @@ let inherit (stdenv.lib) optional; in
 
 stdenv.mkDerivation rec {
   name = "nghttp2-${version}";
-  version = "1.34.0";
+  version = "1.35.0";
 
   src = fetchurl {
     url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
-    sha256 = "1l5rir8d73x97p3p1x4l8cawjc9m2adnippnb27fmrbcd3rfaxbl";
+    sha256 = "0nfdagjb0apgvms28kr9m8k93di5fv6ww9i1jwpd83y0p4vf5zvh";
   };
 
-  patches = [ ./fix-stream-operator.patch /* can't fetchpatch during bootstrap */ ];
-
   outputs = [ "bin" "out" "dev" "lib" ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/nghttp2/fix-stream-operator.patch b/pkgs/development/libraries/nghttp2/fix-stream-operator.patch
deleted file mode 100644
index 7d8acde8ebc..00000000000
--- a/pkgs/development/libraries/nghttp2/fix-stream-operator.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 153531d4d0ebe00ac95047dbf1fec1d9d694f29f Mon Sep 17 00:00:00 2001
-From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
-Date: Sun, 7 Oct 2018 22:19:00 +0900
-Subject: [PATCH] nghttpx: Use the same type as standard stream operator<<
-
----
- src/shrpx_log.cc |  4 ++--
- src/shrpx_log.h  | 20 ++++++++++++++------
- 2 files changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/src/shrpx_log.cc b/src/shrpx_log.cc
-index 8459d15e3..6966cf945 100644
---- a/src/shrpx_log.cc
-+++ b/src/shrpx_log.cc
-@@ -228,7 +228,7 @@ Log &Log::operator<<(const ImmutableString &s) {
-   return *this;
- }
- 
--Log &Log::operator<<(int64_t n) {
-+Log &Log::operator<<(long long n) {
-   if (n >= 0) {
-     return *this << static_cast<uint64_t>(n);
-   }
-@@ -262,7 +262,7 @@ Log &Log::operator<<(int64_t n) {
-   return *this;
- }
- 
--Log &Log::operator<<(uint64_t n) {
-+Log &Log::operator<<(unsigned long long n) {
-   if (flags_ & fmt_hex) {
-     write_hex(n);
-     return *this;
-diff --git a/src/shrpx_log.h b/src/shrpx_log.h
-index 1130b8da8..17b90536e 100644
---- a/src/shrpx_log.h
-+++ b/src/shrpx_log.h
-@@ -100,12 +100,20 @@ class Log {
-   Log &operator<<(const char *s);
-   Log &operator<<(const StringRef &s);
-   Log &operator<<(const ImmutableString &s);
--  Log &operator<<(int16_t n) { return *this << static_cast<int64_t>(n); }
--  Log &operator<<(int32_t n) { return *this << static_cast<int64_t>(n); }
--  Log &operator<<(int64_t n);
--  Log &operator<<(uint16_t n) { return *this << static_cast<uint64_t>(n); }
--  Log &operator<<(uint32_t n) { return *this << static_cast<uint64_t>(n); }
--  Log &operator<<(uint64_t n);
-+  Log &operator<<(short n) { return *this << static_cast<long long>(n); }
-+  Log &operator<<(int n) { return *this << static_cast<long long>(n); }
-+  Log &operator<<(long n) { return *this << static_cast<long long>(n); }
-+  Log &operator<<(long long n);
-+  Log &operator<<(unsigned short n) {
-+    return *this << static_cast<unsigned long long>(n);
-+  }
-+  Log &operator<<(unsigned int n) {
-+    return *this << static_cast<unsigned long long>(n);
-+  }
-+  Log &operator<<(unsigned long n) {
-+    return *this << static_cast<unsigned long long>(n);
-+  }
-+  Log &operator<<(unsigned long long n);
-   Log &operator<<(float n) { return *this << static_cast<double>(n); }
-   Log &operator<<(double n);
-   Log &operator<<(long double n);
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index cdbd57d785f..56804d54667 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl
-, CoreServices ? null }:
+, CoreServices ? null
+, buildPackages }:
 
 let version = "4.20"; in
 
@@ -21,6 +22,8 @@ stdenv.mkDerivation {
     substituteInPlace configure.in --replace '@executable_path/' "$out/lib/"
   '';
 
+  HOST_CC = "cc";
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   configureFlags = [
     "--enable-optimize"
     "--disable-debug"
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index e559b9a076a..4d48ae0b12b 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -5,14 +5,16 @@ let
     url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
     sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
   };
+  version = "3.40.1";
+  underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.40";
+  inherit version;
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_3_40_RTM/src/${name}.tar.gz";
-    sha256 = "1p9jidi3nysirf3lhkrqkjjrf2cw3y2wz2jgjvsjn1ysidxhhqh5";
+    url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${name}.tar.gz";
+    sha256 = "1wf8qapd2lh8pbjd6pp9m32mx1zyddrmv5c4cr86xj3r5ap6n3jy";
   };
 
   buildInputs = [ perl zlib sqlite ]
diff --git a/pkgs/development/libraries/openssl/1.0.2/nix-ssl-cert-file.patch b/pkgs/development/libraries/openssl/1.0.2/nix-ssl-cert-file.patch
new file mode 100644
index 00000000000..5765409fdd5
--- /dev/null
+++ b/pkgs/development/libraries/openssl/1.0.2/nix-ssl-cert-file.patch
@@ -0,0 +1,16 @@
+diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c
+index e6d0e6e1a6..b89456fd87 100644
+--- a/crypto/x509/by_file.c
++++ b/crypto/x509/by_file.c
+@@ -97,7 +97,10 @@ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp,
+     switch (cmd) {
+     case X509_L_FILE_LOAD:
+         if (argl == X509_FILETYPE_DEFAULT) {
+-            file = ossl_safe_getenv(X509_get_default_cert_file_env());
++            file = ossl_safe_getenv("NIX_SSL_CERT_FILE");
++
++            if (!file)
++                file = ossl_safe_getenv(X509_get_default_cert_file_env());
+ 
+             if (file)
+                 ok = (X509_load_cert_crl_file(ctx, file,
diff --git a/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch b/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs-darwin.patch
index 3d9ee7e6a82..3d9ee7e6a82 100644
--- a/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch
+++ b/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs-darwin.patch
diff --git a/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch b/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs.patch
index 813c6bdf44a..813c6bdf44a 100644
--- a/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch
+++ b/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs.patch
diff --git a/pkgs/development/libraries/openssl/1.1/nix-ssl-cert-file.patch b/pkgs/development/libraries/openssl/1.1/nix-ssl-cert-file.patch
new file mode 100644
index 00000000000..9e871cfb1d3
--- /dev/null
+++ b/pkgs/development/libraries/openssl/1.1/nix-ssl-cert-file.patch
@@ -0,0 +1,15 @@
+diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c
+index 244512c935..f0b70d7ea1 100644
+--- a/crypto/x509/by_file.c
++++ b/crypto/x509/by_file.c
+@@ -46,7 +46,9 @@ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp,
+     switch (cmd) {
+     case X509_L_FILE_LOAD:
+         if (argl == X509_FILETYPE_DEFAULT) {
+-            file = ossl_safe_getenv(X509_get_default_cert_file_env());
++            file = ossl_safe_getenv("NIX_SSL_CERT_FILE");
++            if (!file)
++                file = ossl_safe_getenv(X509_get_default_cert_file_env());
+             if (file)
+                 ok = (X509_load_cert_crl_file(ctx, file,
+                                               X509_FILETYPE_PEM) != 0);
diff --git a/pkgs/development/libraries/openssl/darwin-arch.patch b/pkgs/development/libraries/openssl/darwin-arch.patch
deleted file mode 100644
index 63db3efc084..00000000000
--- a/pkgs/development/libraries/openssl/darwin-arch.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru -x '*~' openssl-1.0.1c-orig/Configure openssl-1.0.1c/Configure
---- openssl-1.0.1c-orig/Configure	2012-03-14 23:20:40.000000000 +0100
-+++ openssl-1.0.1c/Configure	2012-12-18 17:29:30.268090633 +0100
-@@ -579,7 +579,7 @@
- "darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
- "darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:".eval{my $asm=$x86_asm;$asm=~s/cast\-586\.o//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
- "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
--"darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
-+"darwin64-x86_64-cc","cc:-O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
- "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
- # iPhoneOS/iOS
- "iphoneos-cross","llvm-gcc:-O3 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fomit-frame-pointer -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 9e33e1b628b..5fd7e14f2bd 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -15,13 +15,7 @@ let
       inherit sha256;
     };
 
-    patches =
-      (args.patches or [])
-      ++ [ ./nix-ssl-cert-file.patch ]
-      ++ optional (versionOlder version "1.1.0")
-          (if stdenv.hostPlatform.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch)
-      ++ optional (versionOlder version "1.0.2" && stdenv.hostPlatform.isDarwin)
-           ./darwin-arch.patch;
+    inherit patches;
 
     postPatch = ''
       patchShebangs Configure
@@ -93,6 +87,7 @@ let
     '' +
     ''
       mkdir -p $bin
+      substituteInPlace $out/bin/c_rehash --replace ${buildPackages.perl} ${perl}
       mv $out/bin $bin/
 
       mkdir $dev
@@ -125,13 +120,21 @@ let
 in {
 
   openssl_1_0_2 = common {
-    version = "1.0.2p";
-    sha256 = "003xh9f898i56344vpvpxxxzmikivxig4xwlm7vbi7m8n43qxaah";
+    version = "1.0.2q";
+    sha256 = "115nisqy7kazbg6br2wrcra9nphyph1l4dgp563b9cf2rv5wyi2p";
+    patches = [
+      ./1.0.2/nix-ssl-cert-file.patch
+
+      (if stdenv.hostPlatform.isDarwin
+       then ./1.0.2/use-etc-ssl-certs-darwin.patch
+       else ./1.0.2/use-etc-ssl-certs.patch)
+    ];
   };
 
   openssl_1_1 = common {
-    version = "1.1.1";
-    sha256 = "0gbab2fjgms1kx5xjvqx8bxhr98k4r8l2fa8vw7kvh491xd8fdi8";
+    version = "1.1.1a";
+    sha256 = "0hcz7znzznbibpy3iyyhvlqrq44y88plxwdj32wjzgbwic7i687w";
+    patches = [ ./1.1/nix-ssl-cert-file.patch ];
   };
 
 }
diff --git a/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch b/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch
deleted file mode 100644
index 893fb3eb664..00000000000
--- a/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru -x '*~' openssl-1.0.2j-orig/crypto/x509/by_file.c openssl-1.0.2j/crypto/x509/by_file.c
---- openssl-1.0.2j-orig/crypto/x509/by_file.c	2016-09-26 11:49:07.000000000 +0200
-+++ openssl-1.0.2j/crypto/x509/by_file.c	2016-10-13 16:54:31.400288302 +0200
-@@ -97,7 +97,9 @@
-     switch (cmd) {
-     case X509_L_FILE_LOAD:
-         if (argl == X509_FILETYPE_DEFAULT) {
--            file = getenv(X509_get_default_cert_file_env());
-+            file = getenv("NIX_SSL_CERT_FILE");
-+            if (!file)
-+                file = getenv(X509_get_default_cert_file_env());
-             if (file)
-                 ok = (X509_load_cert_crl_file(ctx, file,
-                                               X509_FILETYPE_PEM) != 0);
diff --git a/pkgs/development/libraries/osm-gps-map/default.nix b/pkgs/development/libraries/osm-gps-map/default.nix
index b7033ea4ddf..981ec2f0a3a 100644
--- a/pkgs/development/libraries/osm-gps-map/default.nix
+++ b/pkgs/development/libraries/osm-gps-map/default.nix
@@ -1,4 +1,4 @@
-{ cairo, fetchzip, glib, gnome3, gobjectIntrospection, pkgconfig, stdenv }:
+{ cairo, fetchzip, glib, gnome3, gobject-introspection, pkgconfig, stdenv }:
 
 stdenv.mkDerivation rec {
   name = "osm-gps-map-${version}";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [
-    cairo glib gobjectIntrospection
+    cairo glib gobject-introspection
   ] ++ (with gnome3; [
     gnome-common gtk libsoup
   ]);
diff --git a/pkgs/development/libraries/pagmo2/default.nix b/pkgs/development/libraries/pagmo2/default.nix
index 367cef46dc4..c680efa95f8 100644
--- a/pkgs/development/libraries/pagmo2/default.nix
+++ b/pkgs/development/libraries/pagmo2/default.nix
@@ -31,10 +31,6 @@ stdenv.mkDerivation rec {
                  "-DNLOPT_LIBRARY=${nlopt}/lib/libnlopt_cxx.so" "-DPAGMO_WITH_IPOPT=yes"
                  "-DCMAKE_CXX_FLAGS='-fuse-ld=gold'" ];
 
-  checkPhase = ''
-    ctest
-  '';
-
   # All but one test pass skip for now (tests also take about 30 min to compile)
   doCheck = false;
 
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 6b5a0a35971..7b1d69ed42b 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libXft, cairo, harfbuzz
-, libintl, gobjectIntrospection, darwin, fribidi, gnome3
+, libintl, gobject-introspection, darwin, fribidi, gnome3
 , gtk-doc, docbook_xsl, docbook_xml_dtd_43, makeFontsConf, freefont_ttf
 }:
 
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" "devdoc" ];
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection gtk-doc docbook_xsl docbook_xml_dtd_43 ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_43 ];
   buildInputs = optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     Carbon
     CoreGraphics
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index af4e12a014b..61af6e7fdab 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -1,24 +1,15 @@
-{ stdenv, fetchurl, fetchpatch, autoconf, automake, libtool, autoreconfHook, pkgconfig, libpng, glib /*just passthru*/ }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, libpng, glib /*just passthru*/ }:
 
 stdenv.mkDerivation rec {
   name = "pixman-${version}";
-  version = "0.34.0";
+  version = "0.36.0";
 
   src = fetchurl {
     url = "mirror://xorg/individual/lib/${name}.tar.bz2";
-    sha256 = "184lazwdpv67zrlxxswpxrdap85wminh1gmq1i5lcz6iycw39fir";
+    sha256 = "1p40fygy9lcn6ypkzh14azksi570brcpr3979bjpff8qk76c14px";
   };
 
-  patches = stdenv.lib.optionals stdenv.cc.isClang [
-    (fetchpatch {
-      name = "builtin-shuffle.patch";
-      url = https://patchwork.freedesktop.org/patch/177506/raw;
-      sha256 = "0rvraq93769dy2im2m022rz99fcdxprgc2fbmasnddcwrqy1x3xr";
-    })
-  ];
-
-  nativeBuildInputs = [ pkgconfig ]
-    ++ stdenv.lib.optionals stdenv.cc.isClang [ autoconf automake libtool autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ libpng ];
 
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 6675bbf9183..625e0d3e104 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, glib, expat, pam, perl
-, intltool, spidermonkey_52 , gobjectIntrospection, libxslt, docbook_xsl, dbus
+, intltool, spidermonkey_52 , gobject-introspection, libxslt, docbook_xsl, dbus
 , docbook_xml_dtd_412, gtk-doc, coreutils
 , useSystemd ? stdenv.isLinux, systemd
 , doCheck ? stdenv.isLinux
@@ -28,10 +28,10 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" ]; # small man pages in $bin
 
   nativeBuildInputs =
-    [ gtk-doc pkgconfig autoreconfHook intltool gobjectIntrospection perl ]
+    [ gtk-doc pkgconfig autoreconfHook intltool gobject-introspection perl ]
     ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ]; # man pages
   buildInputs =
-    [ glib expat pam spidermonkey_52 gobjectIntrospection ]
+    [ glib expat pam spidermonkey_52 gobject-introspection ]
     ++ stdenv.lib.optional useSystemd systemd;
 
   NIX_CFLAGS_COMPILE = " -Wno-deprecated-declarations "; # for polkit 0.114 and glib 2.56
diff --git a/pkgs/development/libraries/poppler/0.61.nix b/pkgs/development/libraries/poppler/0.61.nix
index 1e86b19ad5a..633c3d69618 100644
--- a/pkgs/development/libraries/poppler/0.61.nix
+++ b/pkgs/development/libraries/poppler/0.61.nix
@@ -2,7 +2,7 @@
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg, fetchpatch
 , withData ? true, poppler_data
 , qt5Support ? false, qtbase ? null
-, introspectionSupport ? false, gobjectIntrospection ? null
+, introspectionSupport ? false, gobject-introspection ? null
 , utils ? false
 , minimal ? false, suffix ? "glib"
 }:
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     [ zlib freetype fontconfig libjpeg openjpeg ]
     ++ optionals (!minimal) [ cairo lcms curl ]
     ++ optional qt5Support qtbase
-    ++ optional introspectionSupport gobjectIntrospection;
+    ++ optional introspectionSupport gobject-introspection;
 
   nativeBuildInputs = [ cmake ninja pkgconfig ];
 
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index acfae1fc888..53ed04527a8 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -2,7 +2,7 @@
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
 , withData ? true, poppler_data
 , qt5Support ? false, qtbase ? null
-, introspectionSupport ? false, gobjectIntrospection ? null
+, introspectionSupport ? false, gobject-introspection ? null
 , utils ? false, nss ? null
 , minimal ? false, suffix ? "glib"
 }:
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     ++ optionals (!minimal) [ cairo lcms curl ]
     ++ optional qt5Support qtbase
     ++ optional utils nss
-    ++ optional introspectionSupport gobjectIntrospection;
+    ++ optional introspectionSupport gobject-introspection;
 
   nativeBuildInputs = [ cmake ninja pkgconfig ];
 
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
index 11ae3a52adc..61c52de80b7 100644
--- a/pkgs/development/libraries/rdkafka/default.nix
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "rdkafka-${version}";
-  version = "0.11.5";
+  version = "0.11.6";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "1b0zp7k0775g5pzvkmpmsha63wx8wcwcas6w6wb09y0gymxz0xss";
+    sha256 = "17fah3x71ipnzvlj0yg8hfmqkk91s942z34p681r4k8giv7avm30";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/science/biology/EBTKS/default.nix b/pkgs/development/libraries/science/biology/EBTKS/default.nix
index 67f868a91a7..f4353f51d66 100644
--- a/pkgs/development/libraries/science/biology/EBTKS/default.nix
+++ b/pkgs/development/libraries/science/biology/EBTKS/default.nix
@@ -16,8 +16,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ];
 
-  checkPhase = "ctest --output-on-failure";  # but cmake doesn't run the tests ...
-
   meta = with stdenv.lib; {
     homepage = "https://github.com/BIC-MNI/${pname}";
     description = "Library for working with MINC files";
diff --git a/pkgs/development/libraries/science/biology/bicpl/default.nix b/pkgs/development/libraries/science/biology/bicpl/default.nix
index d00a74f61e2..f763e8a4fcc 100644
--- a/pkgs/development/libraries/science/biology/bicpl/default.nix
+++ b/pkgs/development/libraries/science/biology/bicpl/default.nix
@@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBUILD_TESTING=FALSE" ];
 
-  checkPhase = "ctest --output-on-failure";
   doCheck = false;
   # internal_volume_io.h: No such file or directory
 
diff --git a/pkgs/development/libraries/science/biology/elastix/default.nix b/pkgs/development/libraries/science/biology/elastix/default.nix
index 7b9e6b24d41..5f4cbbaa567 100644
--- a/pkgs/development/libraries/science/biology/elastix/default.nix
+++ b/pkgs/development/libraries/science/biology/elastix/default.nix
@@ -13,8 +13,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python ];
   buildInputs = [ itk ];
 
-  checkPhase = "ctest";
-
   meta = with stdenv.lib; {
     homepage = http://elastix.isi.uu.nl/;
     description = "Image registration toolkit based on ITK";
diff --git a/pkgs/development/libraries/science/biology/nifticlib/default.nix b/pkgs/development/libraries/science/biology/nifticlib/default.nix
index 19e5644b993..51eed36312d 100644
--- a/pkgs/development/libraries/science/biology/nifticlib/default.nix
+++ b/pkgs/development/libraries/science/biology/nifticlib/default.nix
@@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
-  checkPhase = "ctest";
   doCheck = false; # fails 7 out of 293 tests
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index 38260f63d91..c26e9c575ab 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -30,10 +30,6 @@ stdenv.mkDerivation rec {
 
   doCheck = ! shared;
 
-  checkPhase = "
-    ctest
-  ";
-
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix
index c5930fdb684..3f37bf49de3 100644
--- a/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       )
   '';
 
-  checkPhase = ''
+  preCheck = ''
     # make sure the test starts even if we have less than 4 cores
     export OMPI_MCA_rmaps_base_oversubscribe=1
 
@@ -35,9 +35,6 @@ stdenv.mkDerivation rec {
     export OMP_NUM_THREADS=1
 
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/lib
-    export CTEST_OUTPUT_ON_FAILURE=1
-
-    make test
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index c807325b155..1c17124a2bb 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_CXX_FLAGS='-Wno-attributes'" ];
 
-  checkPhase = "ctest";
-
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index a42084ba841..bc583f732db 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, spice-protocol, gettext, celt_0_5_1
-, openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
+, openssl, libpulseaudio, pixman, gobject-introspection, libjpeg_turbo, zlib
 , cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup
 , withPolkit ? true, polkit, acl, usbutils
 , vala, gtk3, epoxy, libdrm, gst_all_1, phodav, opusfile }:
@@ -50,7 +50,7 @@ in stdenv.mkDerivation rec {
     libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy libdrm phodav opusfile
   ] ++ optionals withPolkit [ polkit acl usbutils ] ;
 
-  nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala gobject-introspection ];
 
   PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
 
diff --git a/pkgs/development/libraries/sqlite/analyzer.nix b/pkgs/development/libraries/sqlite/analyzer.nix
index f3d69f09444..0a63f5e778a 100644
--- a/pkgs/development/libraries/sqlite/analyzer.nix
+++ b/pkgs/development/libraries/sqlite/analyzer.nix
@@ -6,11 +6,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "sqlite-analyzer-${version}";
-  version = "3.25.3";
+  version = "3.26.0";
 
   src = assert version == sqlite.version; fetchurl {
     url = "https://sqlite.org/2018/sqlite-src-${archiveVersion version}.zip";
-    sha256 = "08b4fs9mrah5gxl1865smlqs2ba6g7k7d6pfa084i6d78342p4n7";
+    sha256 = "0ysgi2jrl348amdfifsl3cx90d04bijm4pn4xnvivmi3m1dq4hp0";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index c98164ae63b..100f7fec06a 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -10,12 +10,12 @@ in
 
 stdenv.mkDerivation rec {
   name = "sqlite-${version}";
-  version = "3.25.3";
+  version = "3.26.0";
 
   # NB! Make sure to update analyzer.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2018/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "1pgkja0d13qp5p79ik9kh9lm5y79cwyxwwfc80cr8a1rw5xzksq0";
+    sha256 = "0pdzszb4sp73hl36siiv3p300jvfvbcdxi2rrmkwgs6inwznmajx";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index ca6a4997abf..7436da50319 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -1,21 +1,27 @@
 { stdenv, fetchurl, dbus-glib, glib, python2, pkgconfig, libxslt
-, gobjectIntrospection, valaSupport ? true, vala_0_38, glibcLocales }:
+, gobject-introspection, vala, glibcLocales }:
 
 stdenv.mkDerivation rec {
   name = "telepathy-glib-0.24.1";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz";
     sha256 = "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy";
   };
 
-  configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings";
+  configureFlags = [
+    "--enable-vala-bindings"
+  ];
   LC_ALL = "en_US.UTF-8";
-  propagatedBuildInputs = [dbus-glib glib gobjectIntrospection];
+  propagatedBuildInputs = [ dbus-glib glib ];
 
-  nativeBuildInputs = [ pkgconfig libxslt ] ++ stdenv.lib.optional valaSupport vala_0_38;
+  nativeBuildInputs = [ pkgconfig libxslt gobject-introspection vala ];
   buildInputs = [ glibcLocales python2 ];
 
+  enableParallelBuilding = true;
+
   preConfigure = ''
     substituteInPlace telepathy-glib/telepathy-glib.pc.in --replace Requires.private Requires
   '';
diff --git a/pkgs/development/libraries/template-glib/default.nix b/pkgs/development/libraries/template-glib/default.nix
index 6ce02d588a9..2b63bab0ead 100644
--- a/pkgs/development/libraries/template-glib/default.nix
+++ b/pkgs/development/libraries/template-glib/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobjectIntrospection, flex, bison, vala, gettext, gnome3, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobject-introspection, flex, bison, vala, gettext, gnome3, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }:
 let
-  version = "3.28.0";
+  version = "3.30.0";
   pname = "template-glib";
 in
 stdenv.mkDerivation {
@@ -10,11 +10,11 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "18bic41f9cx8h6n5bz80z4ridb8c1h1yscicln8zsn23zmp44x3c";
+    sha256 = "0j9ndswl3fc0ymbqd6kk7yw3sniij3dgczc665p06wgw3cwhssfg";
   };
 
   buildInputs = [ meson ninja pkgconfig gettext flex bison vala glib gtk-doc docbook_xsl docbook_xml_dtd_43 ];
-  nativeBuildInputs = [ glib gobjectIntrospection ];
+  nativeBuildInputs = [ glib gobject-introspection ];
 
   mesonFlags = [
     "-Denable_gtk_doc=true"
diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix
index c139b5be102..d67d7618574 100644
--- a/pkgs/development/libraries/ti-rpc/default.nix
+++ b/pkgs/development/libraries/ti-rpc/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
                 '#if defined __APPLE_CC__ || defined __FreeBSD__ || !defined __GLIBC__'
   '';
 
+  KRB5_CONFIG = "${libkrb5.dev}/bin/krb5-config";
   nativeBuildInputs = [ autoreconfHook ];
   propagatedBuildInputs = [ libkrb5 ];
 
diff --git a/pkgs/development/libraries/uhttpmock/default.nix b/pkgs/development/libraries/uhttpmock/default.nix
index 377ceba59e7..6eef95309aa 100644
--- a/pkgs/development/libraries/uhttpmock/default.nix
+++ b/pkgs/development/libraries/uhttpmock/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitLab, autoconf, gtk-doc, automake, libtool, pkgconfig, glib, libsoup, gobjectIntrospection }:
+{ stdenv, lib, fetchFromGitLab, autoconf, gtk-doc, automake, libtool, pkgconfig, glib, libsoup, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   version="0.5.0";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf gtk-doc automake libtool glib libsoup gobjectIntrospection ];
+  buildInputs = [ autoconf gtk-doc automake libtool glib libsoup gobject-introspection ];
 
   preConfigure = "./autogen.sh";
 
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index 912bcac55cd..0bf7fb59e32 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, umockdev, gobjectIntrospection
+{ stdenv, fetchFromGitHub, autoreconfHook, umockdev, gobject-introspection
 , pkgconfig, glib, systemd, libgudev, vala }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ glib systemd libgudev ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig vala gobjectIntrospection ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig vala gobject-introspection ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/webkitgtk/2.20.nix b/pkgs/development/libraries/webkitgtk/2.20.nix
deleted file mode 100644
index bb493d16a36..00000000000
--- a/pkgs/development/libraries/webkitgtk/2.20.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake, ninja
-, pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls, libgcrypt
-, gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit
-, libidn, libedit, readline, libGLU_combined, libintl
-, enableGeoLocation ? true, geoclue2, sqlite
-, enableGtk2Plugins ? false, gtk2 ? null
-, gst-plugins-base, gst-plugins-bad, woff2
-}:
-
-assert enableGeoLocation -> geoclue2 != null;
-assert enableGtk2Plugins -> gtk2 != null;
-assert stdenv.isDarwin -> !enableGtk2Plugins;
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  name = "webkitgtk-${version}";
-  version = "2.20.5";
-
-  meta = {
-    description = "Web content rendering engine, GTK+ port";
-    homepage = https://webkitgtk.org/;
-    license = licenses.bsd2;
-    platforms = platforms.linux;
-    hydraPlatforms = [];
-    maintainers = with maintainers; [ ];
-  };
-
-  src = fetchurl {
-    url = "https://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "147r7an41920zl4x9srdva7fxvw2znjin5ldjkhay1cndv9gih0m";
-  };
-
-  patches = optionals stdenv.isDarwin [
-    ## TODO add necessary patches for Darwin
-  ];
-
-  postPatch = ''
-    patchShebangs .
-  '';
-
-  cmakeFlags = [
-  "-DPORT=GTK"
-  "-DUSE_LIBHYPHEN=0"
-  "-DENABLE_INTROSPECTION=ON"
-  ]
-  ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
-  ++ optional stdenv.isLinux "-DENABLE_GLES2=ON"
-  ++ optionals stdenv.isDarwin [
-  "-DUSE_SYSTEM_MALLOC=ON"
-  "-DUSE_ACCELERATE=0"
-  "-DENABLE_MINIBROWSER=OFF"
-  "-DENABLE_VIDEO=ON"
-  "-DENABLE_QUARTZ_TARGET=ON"
-  "-DENABLE_X11_TARGET=OFF"
-  "-DENABLE_OPENGL=OFF"
-  "-DENABLE_WEB_AUDIO=OFF"
-  "-DENABLE_WEBGL=OFF"
-  "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
-  "-DENABLE_GTKDOC=OFF"
-  ];
-
-  nativeBuildInputs = [
-    cmake ninja perl python2 ruby bison gperf
-    pkgconfig gettext gobjectIntrospection
-  ];
-
-  buildInputs = [
-    libintl libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2
-    libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit
-    sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core
-  ] ++ optional enableGeoLocation geoclue2
-    ++ optional enableGtk2Plugins gtk2
-    ++ (with xorg; [ libXdmcp libXt libXtst libXdamage ])
-    ++ optionals stdenv.isDarwin [ libedit readline libGLU_combined ]
-    ++ optional stdenv.isLinux wayland;
-
-  propagatedBuildInputs = [
-    libsoup gtk3
-  ];
-
-  outputs = [ "out" "dev" ];
-}
diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix
index 7b62de69123..9030149fc8a 100644
--- a/pkgs/development/libraries/webkitgtk/2.4.nix
+++ b/pkgs/development/libraries/webkitgtk/2.4.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, perl, python, ruby, bison, gperf, flex
-, pkgconfig, which, gettext, gobjectIntrospection, pruneLibtoolFiles
+, pkgconfig, which, gettext, gobject-introspection, pruneLibtoolFiles
 , gtk2, gtk3, wayland, libwebp, enchant, sqlite
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, xorg
 , gst-plugins-base, libobjc
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     perl python ruby bison gperf flex
-    pkgconfig which gettext gobjectIntrospection pruneLibtoolFiles
+    pkgconfig which gettext gobject-introspection pruneLibtoolFiles
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/webkitgtk/2.22.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 4411b4e8434..e18142eb1d0 100644
--- a/pkgs/development/libraries/webkitgtk/2.22.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake, ninja
-, pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls, libgcrypt
+, pkgconfig, gettext, gobject-introspection, libnotify, gnutls, libgcrypt
 , gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit
 , libidn, libedit, readline, libGLU_combined, libintl
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake ninja perl python2 ruby bison gperf
-    pkgconfig gettext gobjectIntrospection
+    pkgconfig gettext gobject-introspection
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index 7acbaa260a0..b072fb1d4e9 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, glib, sqlite, vala_0_38
+{ stdenv, fetchFromGitLab, pkgconfig, glib, sqlite, gobject-introspection, vala
 , autoconf, automake, libtool, gettext, dbus, telepathy-glib
 , gtk3, json-glib, librdf_raptor2, dbus-glib
 , pythonSupport ? true, python2Packages
@@ -8,8 +8,12 @@ stdenv.mkDerivation rec {
   version = "1.0.1";
   name = "zeitgeist-${version}";
 
-  src = fetchgit {
-    url = "git://anongit.freedesktop.org/git/zeitgeist/zeitgeist";
+  outputs = [ "out" "lib" "dev" "man" ] ++ stdenv.lib.optional pythonSupport "py";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "zeitgeist";
+    repo = "zeitgeist";
     rev = "v${version}";
     sha256 = "1lgqcqr5h9ba751b7ajp7h2w1bb5qza2w3k1f95j3ab15p7q0q44";
   };
@@ -18,13 +22,17 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ];
 
-  nativeBuildInputs = [ autoconf automake libtool pkgconfig gettext vala_0_38 python2Packages.python ];
+  nativeBuildInputs = [
+    autoconf automake libtool pkgconfig gettext gobject-introspection vala python2Packages.python
+  ];
   buildInputs = [
     glib sqlite dbus telepathy-glib dbus-glib
     gtk3 json-glib librdf_raptor2 python2Packages.rdflib
   ];
 
-  prePatch = "patchShebangs .";
+  postPatch = ''
+    patchShebangs data/ontology2code
+  '';
 
   enableParallelBuilding = true;
 
@@ -32,11 +40,9 @@ stdenv.mkDerivation rec {
     moveToOutput lib/${python2Packages.python.libPrefix} "$py"
   '';
 
-  outputs = [ "out" ] ++ stdenv.lib.optional pythonSupport "py";
-
   meta = with stdenv.lib; {
     description = "A service which logs the users's activities and events";
-    homepage = https://launchpad.net/zeitgeist;
+    homepage = http://zeitgeist.freedesktop.org/;
     maintainers = with maintainers; [ lethalman ];
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/development/python-modules/docutils/default.nix b/pkgs/development/python-modules/docutils/default.nix
index 57cb34ebf59..f427f95ffaa 100644
--- a/pkgs/development/python-modules/docutils/default.nix
+++ b/pkgs/development/python-modules/docutils/default.nix
@@ -25,9 +25,9 @@ buildPythonPackage rec {
 
   # Create symlinks lacking a ".py" suffix, many programs depend on these names
   postFixup = ''
-    (cd $out/bin && for f in *.py; do
-      ln -s $f $(echo $f | sed -e 's/\.py$//')
-    done)
+    for f in $out/bin/*.py; do
+      ln -s $(basename $f) $out/bin/$(basename $f .py)
+    done
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/dogtail/default.nix b/pkgs/development/python-modules/dogtail/default.nix
index 2d193616e5f..804267268d7 100644
--- a/pkgs/development/python-modules/dogtail/default.nix
+++ b/pkgs/development/python-modules/dogtail/default.nix
@@ -5,7 +5,7 @@
 , pyatspi
 , pycairo
 , at-spi2-core
-, gobjectIntrospection
+, gobject-introspection
 , gtk3
 , gsettings-desktop-schemas
 , fetchurl
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     ./nix-support.patch
   ];
 
-  nativeBuildInputs = [ gobjectIntrospection dbus xvfb_run ]; # for setup hooks
+  nativeBuildInputs = [ gobject-introspection dbus xvfb_run ]; # for setup hooks
   propagatedBuildInputs = [ at-spi2-core gtk3 pygobject3 pyatspi pycairo ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/flask-socketio/default.nix b/pkgs/development/python-modules/flask-socketio/default.nix
new file mode 100644
index 00000000000..d722ce03417
--- /dev/null
+++ b/pkgs/development/python-modules/flask-socketio/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, python-socketio
+, coverage
+}:
+
+buildPythonPackage rec {
+  pname = "Flask-SocketIO";
+  version = "3.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a7188b35f7874903f554b3a1a3a4465213e765c4f17182fa5cb3d9f6915da4c1";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    python-socketio
+  ];
+
+  checkInputs = [ coverage ];
+  # tests only on github, but lates release there is not tagged
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Socket.IO integration for Flask applications";
+    homepage = http://github.com/miguelgrinberg/Flask-SocketIO/;
+    license = licenses.mit;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/development/python-modules/goocalendar/default.nix b/pkgs/development/python-modules/goocalendar/default.nix
index 4324b357f29..e746b304e8b 100644
--- a/pkgs/development/python-modules/goocalendar/default.nix
+++ b/pkgs/development/python-modules/goocalendar/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , pkgconfig
 , gtk3
-, gobjectIntrospection
+, gobject-introspection
 , pygtk
 , pygobject3
 , goocanvas2
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "ca3950c2728916d9fb703c886f3940ac9b76739f99ec840b0e1c2c282510e1ab";
   };
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection ];
   propagatedBuildInputs = [
     pygtk
     pygobject3
diff --git a/pkgs/development/python-modules/graph-tool/2.x.x.nix b/pkgs/development/python-modules/graph-tool/2.x.x.nix
index aa8050de088..cd8f7c0c91b 100644
--- a/pkgs/development/python-modules/graph-tool/2.x.x.nix
+++ b/pkgs/development/python-modules/graph-tool/2.x.x.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, python, cairomm, sparsehash, pycairo, autoreconfHook,
 pkgconfig, boost, expat, scipy, cgal, gmp, mpfr,
-gobjectIntrospection, pygobject3, gtk3, matplotlib, ncurses,
+gobject-introspection, pygobject3, gtk3, matplotlib, ncurses,
 buildPythonPackage }:
 
 buildPythonPackage rec {
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     sparsehash
     # drawing
     cairomm
-    gobjectIntrospection
+    gobject-introspection
     gtk3
     pycairo
     matplotlib
diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix
index 96da9bcf4f6..2b9703452dc 100644
--- a/pkgs/development/python-modules/gst-python/default.nix
+++ b/pkgs/development/python-modules/gst-python/default.nix
@@ -1,5 +1,5 @@
 { buildPythonPackage, fetchurl, meson, ninja, stdenv, pkgconfig, python, pygobject3
-, gobjectIntrospection, gst-plugins-base, isPy3k
+, gobject-introspection, gst-plugins-base, isPy3k
 }:
 
 let
@@ -46,7 +46,7 @@ in buildPythonPackage rec {
     substituteInPlace meson.build --replace python3 python${if isPy3k then "3" else "2"}
   '';
 
-  nativeBuildInputs = [ meson ninja pkgconfig python gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig python gobject-introspection ];
 
   mesonFlags = [
     "-Dpython=python${if isPy3k then "3" else "2"}"
diff --git a/pkgs/development/python-modules/gtimelog/default.nix b/pkgs/development/python-modules/gtimelog/default.nix
index 40115f398c6..7f0ba451af6 100644
--- a/pkgs/development/python-modules/gtimelog/default.nix
+++ b/pkgs/development/python-modules/gtimelog/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   LC_ALL="en_US.UTF-8";
 
   # TODO: AppIndicator
-  propagatedBuildInputs = [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ];
+  propagatedBuildInputs = [ pkgs.gobject-introspection pygobject3 pkgs.makeWrapper pkgs.gtk3 ];
 
   checkPhase = ''
     substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}"
diff --git a/pkgs/development/python-modules/matplotlib/2.nix b/pkgs/development/python-modules/matplotlib/2.nix
index f073e7baa4e..dec34c64f0a 100644
--- a/pkgs/development/python-modules/matplotlib/2.nix
+++ b/pkgs/development/python-modules/matplotlib/2.nix
@@ -2,7 +2,7 @@
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
 , freetype, libpng, pkgconfig, mock, pytz, pygobject3, functools32, subprocess32
 , enableGhostscript ? false, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobjectIntrospection
+, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 , enableTk ? false, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
 , enableQt ? false, pyqt4
@@ -42,7 +42,7 @@ buildPythonPackage rec {
       libpng pkgconfig mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
     ++ stdenv.lib.optional enableGtk2 pygtk
-    ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobjectIntrospection pygobject3 ]
+    ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt4 ]
     ++ stdenv.lib.optionals (builtins.hasAttr "isPy2" python) [ functools32 subprocess32 ];
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index 2cd7557bac7..718eb2de425 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -2,7 +2,7 @@
 , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
 , freetype, libpng, pkgconfig, mock, pytz, pygobject3, functools32, subprocess32
 , enableGhostscript ? true, ghostscript ? null, gtk3
-, enableGtk2 ? false, pygtk ? null, gobjectIntrospection
+, enableGtk2 ? false, pygtk ? null, gobject-introspection
 , enableGtk3 ? false, cairo
 , enableTk ? false, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
 , enableQt ? false, pyqt4
@@ -44,7 +44,7 @@ buildPythonPackage rec {
       libpng pkgconfig mock pytz ]
     ++ stdenv.lib.optional (pythonOlder "3.3") backports_functools_lru_cache
     ++ stdenv.lib.optional enableGtk2 pygtk
-    ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobjectIntrospection pygobject3 ]
+    ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ]
     ++ stdenv.lib.optionals enableQt [ pyqt4 ];
 
diff --git a/pkgs/development/python-modules/neovim_gui/default.nix b/pkgs/development/python-modules/neovim_gui/default.nix
index da3a0591f7c..e6d36a37089 100644
--- a/pkgs/development/python-modules/neovim_gui/default.nix
+++ b/pkgs/development/python-modules/neovim_gui/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     sha256 = "1vpvr3zm3f9sxg1z1cl7f7gi8v1xksjdvxj62qnw65aqj3zqxnkz";
   };
 
-  propagatedBuildInputs = [ neovim click pygobject3 pkgs.gobjectIntrospection pkgs.makeWrapper pkgs.gtk3 ];
+  propagatedBuildInputs = [ neovim click pygobject3 pkgs.gobject-introspection pkgs.makeWrapper pkgs.gtk3 ];
 
   patchPhase = ''
     sed -i -e "s|entry_points=entry_points,|entry_points=dict(console_scripts=['pynvim=neovim.ui.cli:main [GUI]']),|" setup.py
diff --git a/pkgs/development/python-modules/py3exiv2/default.nix b/pkgs/development/python-modules/py3exiv2/default.nix
index 647fbdd872c..4c6ca0bad33 100644
--- a/pkgs/development/python-modules/py3exiv2/default.nix
+++ b/pkgs/development/python-modules/py3exiv2/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   patches = [
     (substituteAll {
       src = ./setup.patch;
-      version_ = "3${stdenv.lib.versions.minor python.version}";
+      version = "3${stdenv.lib.versions.minor python.version}";
     })
   ];
 
diff --git a/pkgs/development/python-modules/py3exiv2/setup.patch b/pkgs/development/python-modules/py3exiv2/setup.patch
index 784533105d6..8b0619c5bc5 100644
--- a/pkgs/development/python-modules/py3exiv2/setup.patch
+++ b/pkgs/development/python-modules/py3exiv2/setup.patch
@@ -3,9 +3,9 @@
 @@ -39,7 +39,7 @@
                  if '3' in l[2:]:
                      return l.replace('libboost', 'boost')
-
+ 
 -libboost = get_libboost_name()
-+libboost = 'boost_python@version_@'
-
++libboost = 'boost_python@version@'
+ 
  setup(
      name='py3exiv2',
diff --git a/pkgs/development/python-modules/pyatspi/default.nix b/pkgs/development/python-modules/pyatspi/default.nix
index 5960551abc7..539e16abe57 100644
--- a/pkgs/development/python-modules/pyatspi/default.nix
+++ b/pkgs/development/python-modules/pyatspi/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pyatspi";
-  version = "2.26.0";
+  version = "2.30.0";
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6";
+    sha256 = "11g7dx21brfmi5vrq289cw983rydalx0cy91afv5gigyadsmyam2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pygdbmi/default.nix b/pkgs/development/python-modules/pygdbmi/default.nix
new file mode 100644
index 00000000000..fc19ab26573
--- /dev/null
+++ b/pkgs/development/python-modules/pygdbmi/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gdb
+}:
+
+buildPythonPackage rec {
+  pname = "pygdbmi";
+  version = "0.9.0.0";
+
+  src = fetchFromGitHub {
+    #inherit pname version;
+    #inherit pname version;
+    owner = "cs01";
+    repo = "pygdbmi";
+    rev = version;
+    sha256 = "12xq9iajgqz23dska5x63hrx75icr5bwwswnmba0y69y39s0jpsj";
+  };
+
+  checkInputs = [ gdb ];
+
+  postPatch = ''
+    # tries to execute flake8,
+    # which is likely to break on flake8 updates
+    echo "def main(): return 0" > tests/static_tests.py
+  '';
+
+  meta = with lib; {
+    description = "Parse gdb machine interface output with Python";
+    homepage = https://github.com/cs01/pygdbmi;
+    license = licenses.mit;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index c6264f08de8..acc8ee71311 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -1,28 +1,40 @@
-{ stdenv, fetchurl, buildPythonPackage, pkgconfig, glib, gobjectIntrospection, pycairo, cairo, which, ncurses}:
+{ stdenv, fetchurl, buildPythonPackage, pkgconfig, glib, gobject-introspection,
+pycairo, cairo, which, ncurses, meson, ninja, isPy3k, gnome3 }:
 
 buildPythonPackage rec {
-  major = "3.26";
-  minor = "1";
-  version = "${major}.${minor}";
-  format = "other";
   pname = "pygobject";
-  name = pname + "-" + version;
+  version = "3.30.2";
+
+  format = "other";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pygobject/${major}/${name}.tar.xz";
-    sha256 = "1afi0jdjd9sanrzjwhv7z1k7qxlb91fqa6yqc2dbpjkhkjdpnmzm";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "15zd4w43js048y7fd1kdi6wpvccz1njjy60xw1ckvfy1qhikbz54";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gobjectIntrospection ]
+  mesonFlags = [
+    "-Dpython=python${if isPy3k then "3" else "2" }"
+  ];
+
+  nativeBuildInputs = [ pkgconfig meson ninja ];
+  buildInputs = [ glib gobject-introspection ]
                  ++ stdenv.lib.optionals stdenv.isDarwin [ which ncurses ];
   propagatedBuildInputs = [ pycairo cairo ];
 
-  meta = {
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "python3.pkgs.${pname}3";
+    };
+  };
+
+  meta = with stdenv.lib; {
     homepage = https://pygobject.readthedocs.io/;
     description = "Python bindings for Glib";
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pyjwt/default.nix b/pkgs/development/python-modules/pyjwt/default.nix
index b90e7cc425f..94a1a4e6b0e 100644
--- a/pkgs/development/python-modules/pyjwt/default.nix
+++ b/pkgs/development/python-modules/pyjwt/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , cryptography, ecdsa
-, pytestrunner, pytestcov, pytest_37 }:
+, pytestrunner, pytestcov, pytest }:
 
 buildPythonPackage rec {
   pname = "PyJWT";
@@ -13,7 +13,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ cryptography ecdsa ];
 
-  checkInputs = [ pytestrunner pytestcov pytest_37 ];
+  checkInputs = [ pytestrunner pytestcov pytest ];
+
+  # pytest 3.9.0 changed behavior of deprecated_call, see release notes
+  postPatch = ''
+    for x in tests/test_api_*py; do
+      substituteInPlace "$x" --replace AssertionError pytest.fail.Exception
+    done
+  '';
 
   meta = with lib; {
     description = "JSON Web Token implementation in Python";
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
new file mode 100644
index 00000000000..1ea6dd89f2a
--- /dev/null
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchFromGitHub
+, six
+, eventlet
+, mock
+, iana-etc
+, libredirect
+, aiohttp
+, tornado
+}:
+
+buildPythonPackage rec {
+  pname = "python-engineio";
+  version = "3.0.0";
+
+  src = fetchFromGitHub {
+    owner = "miguelgrinberg";
+    repo = "python-engineio";
+    rev = "v${version}";
+    sha256 = "1v510fhn0li808ar2cmwh5nijacy5x60q9x4gm0b34j6mkmc59ph";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    eventlet
+    mock
+    aiohttp
+    tornado
+  ];
+
+  # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
+  preCheck = stdenv.lib.optionalString stdenv.isLinux ''
+    export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols \
+      LD_PRELOAD=${libredirect}/lib/libredirect.so
+  '';
+  postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
+
+  meta = with stdenv.lib; {
+    description = "Engine.IO server";
+    homepage = http://github.com/miguelgrinberg/python-engineio/;
+    license = licenses.mit;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix
new file mode 100644
index 00000000000..274adb9d424
--- /dev/null
+++ b/pkgs/development/python-modules/python-socketio/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, python-engineio
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "python-socketio";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10457ahvi16iyshmynr0j9palfsbnpzya8p1nmlhzrcr11fsnkb7";
+  };
+
+  propagatedBuildInputs = [
+    six
+    python-engineio
+  ];
+
+  checkInputs = [ mock ];
+  # tests only on github, but latest github release not tagged
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Socket.IO server";
+    homepage = http://github.com/miguelgrinberg/python-socketio/;
+    license = licenses.mit;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pythonix/default.nix b/pkgs/development/python-modules/pythonix/default.nix
index fd8012a24d3..f7cecae8497 100644
--- a/pkgs/development/python-modules/pythonix/default.nix
+++ b/pkgs/development/python-modules/pythonix/default.nix
@@ -18,10 +18,6 @@ buildPythonPackage rec {
 
   buildInputs = [ nix boost ];
 
-  checkPhase = ''
-    ninja test
-  '';
-
   meta = with stdenv.lib; {
     description = ''
        Eval nix code from python.
diff --git a/pkgs/development/python-modules/unicorn/default.nix b/pkgs/development/python-modules/unicorn/default.nix
index b20843d0fc2..de317ec1844 100644
--- a/pkgs/development/python-modules/unicorn/default.nix
+++ b/pkgs/development/python-modules/unicorn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k }:
+{ stdenv, buildPackages, buildPythonPackage, fetchPypi, isPy3k }:
 
 buildPythonPackage rec {
   name  = "${pname}-${version}";
@@ -10,7 +10,8 @@ buildPythonPackage rec {
     sha256 = "0a5b4vh734b3wfkgapzzf8x18rimpmzvwwkly56da84n27wfw9bg";
   };
 
-  disabled = isPy3k;
+  # needs python2 at build time
+  PYTHON="${buildPackages.python2.interpreter}";
 
   setupPyBuildFlags = [ "--plat-name" "linux" ];
 
diff --git a/pkgs/development/python-modules/xdot/default.nix b/pkgs/development/python-modules/xdot/default.nix
index 5ca6e03fbf4..68d097d71d6 100644
--- a/pkgs/development/python-modules/xdot/default.nix
+++ b/pkgs/development/python-modules/xdot/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k
-, wrapGAppsHook, gobjectIntrospection, pygobject3, graphviz, gnome3 }:
+, wrapGAppsHook, gobject-introspection, pygobject3, graphviz, gnome3 }:
 
 buildPythonPackage rec {
   pname = "xdot";
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   disabled = !isPy3k;
 
   nativeBuildInputs = [ wrapGAppsHook ];
-  propagatedBuildInputs = [ gobjectIntrospection pygobject3 graphviz gnome3.gtk ];
+  propagatedBuildInputs = [ gobject-introspection pygobject3 graphviz gnome3.gtk ];
 
   meta = with lib; {
     description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot";
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index c429eaec035..9a2aaa91ad8 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -22,7 +22,8 @@
 , pkgconfig , ncurses, xapian_1_2_22, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
 , cmake, libssh2, openssl, mysql, darwin, git, perl, pcre, gecode_3, curl
 , msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
-, cairo, re2, rake, gobjectIntrospection, gdk_pixbuf, zeromq, graphicsmagick, libcxx, file
+, cairo, re2, rake, gobject-introspection, gdk_pixbuf, zeromq, graphicsmagick, libcxx, file
+, libselinux ? null, libsepol ? null
 }@args:
 
 let
@@ -156,7 +157,7 @@ in
 
   gio2 = attrs: {
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gtk2 pcre gobjectIntrospection ];
+    buildInputs = [ gtk2 pcre gobject-introspection ] ++ lib.optionals stdenv.isLinux [ utillinux libselinux libsepol ];
   };
 
   gitlab-markup = attrs: { meta.priority = 1; };
@@ -167,7 +168,7 @@ in
   };
 
   gtk2 = attrs: {
-    nativeBuildInputs = [ pkgconfig ];
+    nativeBuildInputs = [ pkgconfig ] ++ lib.optionals stdenv.isLinux [ utillinux libselinux libsepol ];
     buildInputs = [ gtk2 pcre xorg.libpthreadstubs xorg.libXdmcp];
     # CFLAGS must be set for this gem to detect gdkkeysyms.h correctly
     CFLAGS = "-I${gtk2.dev}/include/gtk-2.0 -I/non-existent-path";
@@ -175,7 +176,7 @@ in
 
   gobject-introspection = attrs: {
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gobjectIntrospection gtk2 pcre ];
+    buildInputs = [ gobject-introspection gtk2 pcre ];
   };
 
   grpc = attrs: {
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index df99ecb13bb..ca8d64f9132 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, gdb, llvm, cctools, xnu, bootstrap_cmds }:
+{ stdenv, fetchurl, perl, gdb, llvm, cctools, xnu, bootstrap_cmds, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "valgrind-3.14.0";
@@ -8,7 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "19ds42jwd89zrsjb94g7gizkkzipn8xik3xykrpcqxylxyzi2z03";
   };
 
+  # autoreconfHook is needed to pick up patching of Makefile.am
+  # Remove when the patch no longer applies.
   patches = [ ./coregrind-makefile-race.patch ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   outputs = [ "out" "dev" "man" "doc" ];
 
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index d37e25943b5..f095103ee04 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -15,6 +15,11 @@ fixCmakeFiles() {
 cmakeConfigurePhase() {
     runHook preConfigure
 
+    export CTEST_OUTPUT_ON_FAILURE=1
+    if [ -n "${enableParallelChecking-1}" ]; then
+        export CTEST_PARALLEL_LEVEL=$NIX_BUILD_CORES
+    fi
+
     if [ -z "$dontFixCmake" ]; then
         fixCmakeFiles .
     fi
diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh
index b98225c1305..06375c1528e 100644
--- a/pkgs/development/tools/build-managers/meson/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/meson/setup-hook.sh
@@ -39,15 +39,3 @@ if [ -z "$dontUseMesonConfigure" -a -z "$configurePhase" ]; then
     setOutputFlags=
     configurePhase=mesonConfigurePhase
 fi
-
-mesonCheckPhase() {
-    runHook preCheck
-
-    meson test --print-errorlogs
-
-    runHook postCheck
-}
-
-if [ -z "$dontUseMesonCheck" -a -z "$checkPhase" ]; then
-    checkPhase=mesonCheckPhase
-fi
diff --git a/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/pkgs/development/tools/build-managers/ninja/setup-hook.sh
index d9ad7460931..e3c67bd139d 100644
--- a/pkgs/development/tools/build-managers/ninja/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/ninja/setup-hook.sh
@@ -1,26 +1,20 @@
 ninjaBuildPhase() {
     runHook preBuild
 
-    if [[ -z "$ninjaFlags" && ! ( -e build.ninja ) ]]; then
-        echo "no build.ninja, doing nothing"
-    else
-        local buildCores=1
+    local buildCores=1
 
-        # Parallel building is enabled by default.
-        if [ "${enableParallelBuilding-1}" ]; then
-            buildCores="$NIX_BUILD_CORES"
-        fi
+    # Parallel building is enabled by default.
+    if [ "${enableParallelBuilding-1}" ]; then
+        buildCores="$NIX_BUILD_CORES"
+    fi
 
-        # shellcheck disable=SC2086
-        local flagsArray=( \
-            -j"$buildCores" -l"$NIX_BUILD_CORES" \
-            $ninjaFlags "${ninjaFlagsArray[@]}" \
-            $buildFlags "${buildFlagsArray[@]}")
+    local flagsArray=(
+        -j$buildCores -l$NIX_BUILD_CORES
+        $ninjaFlags "${ninjaFlagsArray[@]}"
+    )
 
-        echoCmd 'build flags' "${flagsArray[@]}"
-        ninja "${flagsArray[@]}"
-        unset flagsArray
-    fi
+    echoCmd 'build flags' "${flagsArray[@]}"
+    ninja "${flagsArray[@]}"
 
     runHook postBuild
 }
@@ -32,15 +26,14 @@ fi
 ninjaInstallPhase() {
     runHook preInstall
 
-    installTargets="${installTargets:-install}"
-
     # shellcheck disable=SC2086
-    local flagsArray=( $installTargets \
-        $ninjaFlags "${ninjaFlagsArray[@]}")
+    local flagsArray=(
+        $ninjaFlags "${ninjaFlagsArray[@]}"
+        ${installTargets:-install}
+    )
 
     echoCmd 'install flags' "${flagsArray[@]}"
     ninja "${flagsArray[@]}"
-    unset flagsArray
 
     runHook postInstall
 }
@@ -48,3 +41,38 @@ ninjaInstallPhase() {
 if [ -z "$dontUseNinjaInstall" -a -z "$installPhase" ]; then
     installPhase=ninjaInstallPhase
 fi
+
+ninjaCheckPhase() {
+    runHook preCheck
+
+    if [ -z "${checkTarget:-}" ]; then
+        if ninja -t query test >/dev/null 2>&1; then
+            checkTarget=test
+        fi
+    fi
+
+    if [ -z "${checkTarget:-}" ]; then
+        echo "no test target found in ninja, doing nothing"
+    else
+        local buildCores=1
+
+        if [ "${enableParallelChecking-1}" ]; then
+            buildCores="$NIX_BUILD_CORES"
+        fi
+
+        local flagsArray=(
+            -j$buildCores -l$NIX_BUILD_CORES
+            $ninjaFlags "${ninjaFlagsArray[@]}"
+            $checkTarget
+        )
+
+        echoCmd 'check flags' "${flagsArray[@]}"
+        ninja "${flagsArray[@]}"
+    fi
+
+    runHook postCheck
+}
+
+if [ -z "$dontUseNinjaCheck" -a -z "$checkPhase" ]; then
+    checkPhase=ninjaCheckPhase
+fi
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 46f4700f314..7d045115b59 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,18 +1,23 @@
-{ stdenv, buildPackages
+{ stdenv, lib, buildPackages
 , fetchurl, zlib, autoreconfHook264
+# Enabling all targets increases output size to a multiple.
+, withAllTargets ? false, libbfd, libopcodes
+, enableShared ? true
 , noSysDirs, gold ? true, bison ? null
 }:
 
 let
+  reuseLibs = enableShared && withAllTargets;
+
   # Remove gold-symbol-visibility patch when updating, the proper fix
   # is now upstream.
   # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
   version = "2.30";
   basename = "binutils-${version}";
-  inherit (stdenv.lib) optionals optionalString;
   # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
-  targetPrefix = optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "${stdenv.targetPlatform.config}-";
+  targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+                  "${stdenv.targetPlatform.config}-";
 in
 
 stdenv.mkDerivation rec {
@@ -64,14 +69,14 @@ stdenv.mkDerivation rec {
     # be satisfied on aarch64 platform. Add backported fix from bugzilla.
     # https://sourceware.org/bugzilla/show_bug.cgi?id=22764
     ./relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch
-  ] ++ stdenv.lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch;
+  ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch;
 
   outputs = [ "out" "info" "man" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [
     bison
-  ] ++ stdenv.lib.optionals stdenv.targetPlatform.isiOS [
+  ] ++ lib.optionals stdenv.targetPlatform.isiOS [
     autoreconfHook264
   ];
   buildInputs = [ zlib ];
@@ -100,12 +105,14 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" "pie" ];
 
   # TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
-  configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (stdenv.targetPlatform != stdenv.hostPlatform) "target";
-
-  configureFlags = [
-    "--enable-targets=all" "--enable-64-bit-bfd"
-    "--disable-install-libbfd"
-    "--disable-shared" "--enable-static"
+  configurePlatforms = [ "build" "host" ] ++ lib.optional (stdenv.targetPlatform != stdenv.hostPlatform) "target";
+
+  configureFlags =
+    (if enableShared then [ "--enable-shared" "--disable-static" ]
+                     else [ "--disable-shared" "--enable-static" ])
+  ++ lib.optional withAllTargets "--enable-targets=all"
+  ++ [
+    "--enable-64-bit-bfd"
     "--with-system-zlib"
 
     "--enable-deterministic-archives"
@@ -116,10 +123,16 @@ stdenv.mkDerivation rec {
     # RUNPATH instead of RPATH on binaries.  This is important because
     # RUNPATH can be overriden using LD_LIBRARY_PATH at runtime.
     "--enable-new-dtags"
-  ] ++ optionals gold [ "--enable-gold" "--enable-plugins" ];
+  ] ++ lib.optionals gold [ "--enable-gold" "--enable-plugins" ];
 
   doCheck = false; # fails
 
+  postFixup = lib.optionalString reuseLibs ''
+    rm "$out"/lib/lib{bfd,opcodes}-${version}.so
+    ln -s '${lib.getLib libbfd}/lib/libbfd-${version}.so' "$out/lib/"
+    ln -s '${lib.getLib libopcodes}/lib/libopcodes-${version}.so' "$out/lib/"
+  '';
+
   # else fails with "./sanity.sh: line 36: $out/bin/size: not found"
   doInstallCheck = stdenv.buildPlatform == stdenv.hostPlatform && stdenv.hostPlatform == stdenv.targetPlatform;
 
@@ -129,7 +142,7 @@ stdenv.mkDerivation rec {
     inherit targetPrefix version;
   };
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Tools for manipulating binaries (linker, assembler, etc.)";
     longDescription = ''
       The GNU Binutils are a collection of binary tools.  The main
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index ae8f17c213a..6c4ff49d90f 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -1,5 +1,5 @@
 { stdenv, pkgconfig, fetchurl, itstool, intltool, libxml2, glib, gtk3
-, python3Packages, wrapGAppsHook, gnome3, libwnck3, gobjectIntrospection }:
+, python3Packages, wrapGAppsHook, gnome3, libwnck3, gobject-introspection }:
 
 let
   pname = "d-feet";
@@ -14,7 +14,7 @@ in python3Packages.buildPythonApplication rec {
   };
 
   nativeBuildInputs = [ pkgconfig itstool intltool wrapGAppsHook libxml2 ];
-  buildInputs = [ glib gtk3 gnome3.defaultIconTheme libwnck3 gobjectIntrospection ];
+  buildInputs = [ glib gtk3 gnome3.defaultIconTheme libwnck3 gobject-introspection ];
 
   propagatedBuildInputs = with python3Packages; [ pygobject3 pep8 ];
 
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 6bd624a2878..477a5aa415d 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -3,11 +3,11 @@
 # TODO: Look at the hardcoded paths to kernel, modules etc.
 stdenv.mkDerivation rec {
   name = "elfutils-${version}";
-  version = "0.174";
+  version = "0.175";
 
   src = fetchurl {
     url = "https://sourceware.org/elfutils/ftp/${version}/${name}.tar.bz2";
-    sha256 = "12nhr8zrw4sjzrvpf38vl55bq5nm05qkd7nq76as443f0xq7xwnd";
+    sha256 = "0nx6nzbk0rw3pxbzxsfvrjjh37hibzd2gjz5bb8wccpf85ar5vzp";
   };
 
   patches = [ ./debug-info-from-env.patch ];
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 49b7f3ca824..29942bb2fc4 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -6,7 +6,7 @@
 # Run time
 , ncurses, readline, gmp, mpfr, expat, zlib, dejagnu
 
-, pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python ? null
+, pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null
 , guile ? null
 
 }:
@@ -16,7 +16,7 @@ let
   version = "8.2";
 in
 
-assert pythonSupport -> python != null;
+assert pythonSupport -> python3 != null;
 
 stdenv.mkDerivation rec {
   name =
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig texinfo perl setupDebugInfoDirs ];
 
   buildInputs = [ ncurses readline gmp mpfr expat zlib guile ]
-    ++ stdenv.lib.optional pythonSupport python
+    ++ stdenv.lib.optional pythonSupport python3
     ++ stdenv.lib.optional doCheck dejagnu;
 
   propagatedNativeBuildInputs = [ setupDebugInfoDirs ];
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index 29bf92d2b6e..36e83564346 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -1,21 +1,41 @@
-{ stdenv, python27Packages, gdb, pkgs }:
-let
-  deps = import ./requirements.nix { inherit pkgs; };
-in
-python27Packages.buildPythonApplication rec {
+{ stdenv
+, buildPythonApplication
+, fetchPypi
+, gdb
+, iana-etc
+, libredirect
+, flask
+, flask-socketio
+, flask-compress
+, pygdbmi
+, pygments
+, gevent
+, breakpointHook
+, }:
+
+buildPythonApplication rec {
   pname = "gdbgui";
-  version = "0.13.0.0";
+  version = "0.13.1.1";
 
   buildInputs = [ gdb ];
-  propagatedBuildInputs = builtins.attrValues deps.packages;
+  propagatedBuildInputs = [
+    flask
+    flask-socketio
+    flask-compress
+    pygdbmi
+    pygments
+    gevent
+  ];
 
-  src = python27Packages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
-    sha256 = "16a46kabhfqsgsks5l25kpgrvrkdah3h5f5m6ams2z9nzbrxl8bz";
+    sha256 = "1ypxgkxwb443ndyrmsa7zx2hn0d9b3s7n2w49ngfghd3l8k0yvi2";
   };
 
   postPatch = ''
     echo ${version} > gdbgui/VERSION.txt
+    # remove upper version bound
+    sed -ie 's!, <.*"!"!' setup.py
   '';
 
   postInstall = ''
@@ -23,15 +43,8 @@ python27Packages.buildPythonApplication rec {
       --prefix PATH : ${stdenv.lib.makeBinPath [ gdb ]}
   '';
 
-  # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
-  preCheck = stdenv.lib.optionalString stdenv.isLinux ''
-    export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols \
-      LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so
-  '';
-
-  postCheck = stdenv.lib.optionalString stdenv.isLinux ''
-    unset NIX_REDIRECTS LD_PRELOAD
-  '';
+  # tests do not work without stdout/stdin
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "A browser-based frontend for GDB";
diff --git a/pkgs/development/tools/misc/gdbgui/requirements.nix b/pkgs/development/tools/misc/gdbgui/requirements.nix
deleted file mode 100644
index 273f9db0c39..00000000000
--- a/pkgs/development/tools/misc/gdbgui/requirements.nix
+++ /dev/null
@@ -1,336 +0,0 @@
-# generated using pypi2nix tool (version: 1.8.1)
-# See more at: https://github.com/garbas/pypi2nix
-#
-# COMMAND:
-#   pypi2nix -V 2.7 -r requirements.txt
-#
-
-{ pkgs ? import <nixpkgs> {}
-}:
-
-let
-
-  inherit (pkgs) makeWrapper;
-  inherit (pkgs.stdenv.lib) fix' extends;
-
-  pythonPackages =
-  import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" {
-    inherit pkgs;
-    inherit (pkgs) stdenv;
-    python = pkgs.python27Full;
-    # patching pip so it does not try to remove files when running nix-shell
-    overrides =
-      self: super: {
-        bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: {
-          patchPhase = old.patchPhase + ''
-            sed -i               -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|"                -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|"                  $out/${pkgs.python35.sitePackages}/pip/req/req_install.py
-          '';
-        });
-      };
-  };
-
-  commonBuildInputs = [];
-  commonDoCheck = false;
-
-  withPackages = pkgs':
-    let
-      pkgs = builtins.removeAttrs pkgs' ["__unfix__"];
-      interpreter = pythonPackages.buildPythonPackage {
-        name = "python27Full-interpreter";
-        buildInputs = [ makeWrapper ] ++ (builtins.attrValues pkgs);
-        buildCommand = ''
-          mkdir -p $out/bin
-          ln -s ${pythonPackages.python.interpreter}               $out/bin/${pythonPackages.python.executable}
-          for dep in ${builtins.concatStringsSep " "               (builtins.attrValues pkgs)}; do
-            if [ -d "$dep/bin" ]; then
-              for prog in "$dep/bin/"*; do
-                if [ -f $prog ]; then
-                  ln -s $prog $out/bin/`basename $prog`
-                fi
-              done
-            fi
-          done
-          for prog in "$out/bin/"*; do
-            wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
-          done
-          pushd $out/bin
-          ln -s ${pythonPackages.python.executable} python
-          ln -s ${pythonPackages.python.executable}               python2
-          popd
-        '';
-        passthru.interpreter = pythonPackages.python;
-      };
-    in {
-      __old = pythonPackages;
-      inherit interpreter;
-      mkDerivation = pythonPackages.buildPythonPackage;
-      packages = pkgs;
-      overrideDerivation = drv: f:
-        pythonPackages.buildPythonPackage (drv.drvAttrs // f drv.drvAttrs //                                            { meta = drv.meta; });
-      withPackages = pkgs'':
-        withPackages (pkgs // pkgs'');
-    };
-
-  python = withPackages {};
-
-  generated = self: {
-
-    "Flask" = python.mkDerivation {
-      name = "Flask-0.12.2";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/eb/12/1c7bd06fcbd08ba544f25bf2c6612e305a70ea51ca0eda8007344ec3f123/Flask-0.12.2.tar.gz"; sha256 = "49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."Jinja2"
-      self."Werkzeug"
-      self."click"
-      self."itsdangerous"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://github.com/pallets/flask/";
-        license = licenses.bsdOriginal;
-        description = "A microframework based on Werkzeug, Jinja2 and good intentions";
-      };
-    };
-
-
-
-    "Flask-Compress" = python.mkDerivation {
-      name = "Flask-Compress-1.4.0";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/0e/2a/378bd072928f6d92fd8c417d66b00c757dc361c0405a46a0134de6fd323d/Flask-Compress-1.4.0.tar.gz"; sha256 = "468693f4ddd11ac6a41bca4eb5f94b071b763256d54136f77957cfee635badb3"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."Flask"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "https://libwilliam.github.io/flask-compress/";
-        license = licenses.mit;
-        description = "Compress responses in your Flask app with gzip.";
-      };
-    };
-
-
-
-    "Flask-SocketIO" = python.mkDerivation {
-      name = "Flask-SocketIO-2.9.3";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/a0/ac/4024b73e071d5a000a998d6f26ba0a090011d5abdc7aa41f2774173c3276/Flask-SocketIO-2.9.3.tar.gz"; sha256 = "df23f790db8529c543bd0b54165215c342cf6955a4a1f605650e759197a46d59"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."Flask"
-      self."python-socketio"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://github.com/miguelgrinberg/Flask-SocketIO/";
-        license = licenses.mit;
-        description = "Socket.IO integration for Flask applications";
-      };
-    };
-
-
-
-    "Jinja2" = python.mkDerivation {
-      name = "Jinja2-2.10";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."MarkupSafe"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://jinja.pocoo.org/";
-        license = licenses.bsdOriginal;
-        description = "A small but fast and easy to use stand-alone template engine written in pure python.";
-      };
-    };
-
-
-
-    "MarkupSafe" = python.mkDerivation {
-      name = "MarkupSafe-1.0";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz"; sha256 = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://github.com/pallets/markupsafe";
-        license = licenses.bsdOriginal;
-        description = "Implements a XML/HTML/XHTML Markup safe string for Python";
-      };
-    };
-
-
-
-    "Pygments" = python.mkDerivation {
-      name = "Pygments-2.2.0";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz"; sha256 = "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://pygments.org/";
-        license = licenses.bsdOriginal;
-        description = "Pygments is a syntax highlighting package written in Python.";
-      };
-    };
-
-
-
-    "Werkzeug" = python.mkDerivation {
-      name = "Werkzeug-0.14.1";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/9f/08/a3bb1c045ec602dc680906fc0261c267bed6b3bb4609430aff92c3888ec8/Werkzeug-0.14.1.tar.gz"; sha256 = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "https://www.palletsprojects.org/p/werkzeug/";
-        license = licenses.bsdOriginal;
-        description = "The comprehensive WSGI web application library.";
-      };
-    };
-
-
-
-    "click" = python.mkDerivation {
-      name = "click-6.7";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897/click-6.7.tar.gz"; sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://github.com/mitsuhiko/click";
-        license = licenses.bsdOriginal;
-        description = "A simple wrapper around optparse for powerful command line utilities.";
-      };
-    };
-
-
-
-    "gevent" = python.mkDerivation {
-      name = "gevent-1.2.2";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."greenlet"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://www.gevent.org/";
-        license = licenses.mit;
-        description = "Coroutine-based network library";
-      };
-    };
-
-
-
-    "greenlet" = python.mkDerivation {
-      name = "greenlet-0.4.12";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/be/76/82af375d98724054b7e273b5d9369346937324f9bcc20980b45b068ef0b0/greenlet-0.4.12.tar.gz"; sha256 = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "https://github.com/python-greenlet/greenlet";
-        license = licenses.mit;
-        description = "Lightweight in-process concurrent programming";
-      };
-    };
-
-
-
-    "itsdangerous" = python.mkDerivation {
-      name = "itsdangerous-0.24";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz"; sha256 = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://github.com/mitsuhiko/itsdangerous";
-        license = licenses.bsdOriginal;
-        description = "Various helpers to pass trusted data to untrusted environments and back.";
-      };
-    };
-
-
-
-    "pygdbmi" = python.mkDerivation {
-      name = "pygdbmi-0.8.2.0";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4e/34/a8c86d85e0d3d8df2c289657a55c19408dbdbf0b1468859e7f1a745ae8ff/pygdbmi-0.8.2.0.tar.gz"; sha256 = "47cece65808ca42edf6966ac48e2aedca7ae1c675c4d2f0d001c7f3a7fa245fe"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "https://github.com/cs01/pygdbmi";
-        license = licenses.mit;
-        description = "Parse gdb machine interface output with Python";
-      };
-    };
-
-
-
-    "python-engineio" = python.mkDerivation {
-      name = "python-engineio-2.0.2";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e5/91/f6fd80298e68b4ca22a1a9cc3091116e2fef22fd8fb017ad9e5c6ec6ddcc/python-engineio-2.0.2.tar.gz"; sha256 = "46c710a72c3b2a8511b0d7963c46e200010f8ea3eb0721ce15603d0f23e993c4"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."six"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://github.com/miguelgrinberg/python-engineio/";
-        license = licenses.mit;
-        description = "Engine.IO server";
-      };
-    };
-
-
-
-    "python-socketio" = python.mkDerivation {
-      name = "python-socketio-1.8.4";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/58/a9/52af6a7ad0805977afc838ed394f8d26d078ef61e8c1bdd632801c58ef3a/python-socketio-1.8.4.tar.gz"; sha256 = "13807ce17e85371d15b31295a43b1fac1c0dba1eb5fc233353a3efd53aa122cc"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [
-      self."python-engineio"
-      self."six"
-    ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://github.com/miguelgrinberg/python-socketio/";
-        license = licenses.mit;
-        description = "Socket.IO server";
-      };
-    };
-
-
-
-    "six" = python.mkDerivation {
-      name = "six-1.11.0";
-      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; };
-      doCheck = commonDoCheck;
-      buildInputs = commonBuildInputs;
-      propagatedBuildInputs = [ ];
-      meta = with pkgs.stdenv.lib; {
-        homepage = "http://pypi.python.org/pypi/six/";
-        license = licenses.mit;
-        description = "Python 2 and 3 compatibility utilities";
-      };
-    };
-
-  };
-  localOverridesFile = ./requirements_override.nix;
-  overrides = import localOverridesFile { inherit pkgs python; };
-  commonOverrides = [
-
-  ];
-  allOverrides =
-    (if (builtins.pathExists localOverridesFile)
-     then [overrides] else [] ) ++ commonOverrides;
-
-in python.withPackages
-   (fix' (pkgs.lib.fold
-            extends
-            generated
-            allOverrides
-         )
-   )
\ No newline at end of file
diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix
index 257e822edd9..e299a7b0eb8 100644
--- a/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/pkgs/development/tools/misc/pwndbg/default.nix
@@ -1,4 +1,18 @@
-{ stdenv, fetchFromGitHub, pythonPackages, makeWrapper, gdb }:
+{ stdenv
+, fetchFromGitHub
+, makeWrapper
+, gdb
+, future
+, isort
+, psutil
+, pycparser
+, pyelftools
+, python-ptrace
+, ROPGadget
+, six
+, unicorn
+, pygments
+, }:
 
 stdenv.mkDerivation rec {
   name = "pwndbg-${version}";
@@ -13,7 +27,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = [
     future
     isort
     psutil
@@ -24,7 +38,6 @@ stdenv.mkDerivation rec {
     six
     unicorn
     pygments
-    enum34
   ];
 
   installPhase = ''
diff --git a/pkgs/development/tools/misc/swig/3.x.nix b/pkgs/development/tools/misc/swig/3.x.nix
index 077d037aa97..9dc2b535c09 100644
--- a/pkgs/development/tools/misc/swig/3.x.nix
+++ b/pkgs/development/tools/misc/swig/3.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, bison, pcre }:
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, bison, pcre, buildPackages }:
 
 stdenv.mkDerivation rec {
   name = "swig-${version}";
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "1wyffskbkzj5zyhjnnpip80xzsjcr3p0q5486z3wdwabnysnhn8n";
   };
 
-  nativeBuildInputs = [ autoconf automake libtool bison ];
+  # for cross-compiling we need pcre.dev in nativeBuildInputs to get pcre-config
+  nativeBuildInputs = [ autoconf automake libtool bison pcre.dev ];
+  disallowedReferences = [ buildPackages.pcre.dev ];
+
   buildInputs = [ pcre ];
 
   configureFlags = [ "--without-tcl" ];
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index 70b3ab3cb2c..42c443a46a8 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, m4, perl, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "bison-3.2.1";
+  name = "bison-3.2.2";
 
   src = fetchurl {
     url = "mirror://gnu/bison/${name}.tar.gz";
-    sha256 = "1pgcvwzzlckb83sdcljz75hg71zwbc2a4pl5ycwxsxw05423gwq1";
+    sha256 = "0v3q6ym34krb4iskg0pspvpm35wmp3gx9njb9c35cv0w0h0j5z9z";
   };
 
   patches = []; # remove on another rebuild
diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix
index a01d7dd4290..f032669990b 100644
--- a/pkgs/development/tools/profiling/sysprof/default.nix
+++ b/pkgs/development/tools/profiling/sysprof/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , desktop-file-utils
 , fetchurl
-, fetchpatch
 , gettext
 , glib
 , gtk3
@@ -17,7 +16,7 @@
 , gnome3
 }:
 let
-  version = "3.28.1";
+  version = "3.30.0";
   pname = "sysprof";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -26,18 +25,9 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "05534dvwrzrmryb4y2m1sb2q0r8i6nr88pzjg7xs5nr9zq8a87p3";
+    sha256 = "0qrzcs60m44mmj7ln9815kfgvi2pjlhmk0p4vjc0dw3pw95jrk99";
   };
 
-  patches = [
-    # fix includedir in pkgconfig
-    # https://gitlab.gnome.org/GNOME/sysprof/merge_requests/2
-    (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/sysprof/commit/d19a496bb55b8646e866df8bb07bc6ad3c55eaf2.patch;
-      sha256 = "15w6di9c4n1gsymkpk413f5f9gd3iq23wdkzs01y9xrxwqpm7hm4";
-    })
-  ];
-
   nativeBuildInputs = [ desktop-file-utils gettext itstool libxml2 meson ninja pkgconfig shared-mime-info wrapGAppsHook ];
   buildInputs = [ glib gtk3 pango polkit systemd.dev systemd.lib ];
 
diff --git a/pkgs/development/tools/valadoc/default.nix b/pkgs/development/tools/valadoc/default.nix
index fba5fe91ed8..a36e251a4a2 100644
--- a/pkgs/development/tools/valadoc/default.nix
+++ b/pkgs/development/tools/valadoc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gnome3, automake, autoconf, which, libtool, pkgconfig, graphviz, glib, gobjectIntrospection, expat}:
+{stdenv, fetchurl, gnome3, automake, autoconf, which, libtool, pkgconfig, graphviz, glib, gobject-introspection, expat}:
 stdenv.mkDerivation rec {
   version = "0.36.1";
   name = "valadoc-${version}";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "07501k2j9c016bd7rfr6xzaxdplq7j9sd18b5ixbqdbipvn6whnv";
   };
 
-  nativeBuildInputs = [ automake autoconf which gnome3.vala libtool pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ automake autoconf which gnome3.vala libtool pkgconfig gobject-introspection ];
   buildInputs = [ graphviz glib gnome3.libgee expat ];
 
   passthru = {