about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJohn Ericson <git@JohnEricson.me>2018-12-02 12:32:03 -0500
committerJohn Ericson <git@JohnEricson.me>2018-12-02 12:32:03 -0500
commit24270193b7204939a6699d4d8e7ee43ef9d68017 (patch)
tree37fcd3e4c983952f2404b4ca708b5f42abc332ae /pkgs
parent0b695faa07c8a01da2ffeaee40577dcfdfd98ed8 (diff)
parentaa65b32c2ccd8bd478bb111df2e4f312f8cc7c73 (diff)
downloadnixlib-24270193b7204939a6699d4d8e7ee43ef9d68017.tar
nixlib-24270193b7204939a6699d4d8e7ee43ef9d68017.tar.gz
nixlib-24270193b7204939a6699d4d8e7ee43ef9d68017.tar.bz2
nixlib-24270193b7204939a6699d4d8e7ee43ef9d68017.tar.lz
nixlib-24270193b7204939a6699d4d8e7ee43ef9d68017.tar.xz
nixlib-24270193b7204939a6699d4d8e7ee43ef9d68017.tar.zst
nixlib-24270193b7204939a6699d4d8e7ee43ef9d68017.zip
Merge remote-tracking branch 'upstream/staging' into fix/cross-xfsprogs
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/a2jmidid/default.nix6
-rw-r--r--pkgs/applications/audio/avldrums-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/cadence/default.nix80
-rw-r--r--pkgs/applications/audio/cozy-audiobooks/default.nix4
-rw-r--r--pkgs/applications/audio/distrho/default.nix37
-rw-r--r--pkgs/applications/audio/dragonfly-reverb/default.nix4
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix44
-rw-r--r--pkgs/applications/audio/gpodder/default.nix4
-rw-r--r--pkgs/applications/audio/lollypop/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix6
-rw-r--r--pkgs/applications/audio/mopidy/local-images.nix4
-rw-r--r--pkgs/applications/audio/pithos/default.nix4
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix4
-rw-r--r--pkgs/applications/audio/renoise/default.nix14
-rw-r--r--pkgs/applications/audio/seq24/default.nix2
-rw-r--r--pkgs/applications/audio/sonata/default.nix4
-rw-r--r--pkgs/applications/audio/synthv1/default.nix6
-rw-r--r--pkgs/applications/audio/transcribe/default.nix37
-rw-r--r--pkgs/applications/audio/vocal/default.nix4
-rw-r--r--pkgs/applications/audio/x42-plugins/default.nix6
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix4
-rw-r--r--pkgs/applications/editors/gnome-builder/default.nix31
-rw-r--r--pkgs/applications/editors/gnome-latex/default.nix4
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix28
-rw-r--r--pkgs/applications/editors/monodevelop/default.nix2
-rw-r--r--pkgs/applications/editors/quilter/default.nix4
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix4
-rw-r--r--pkgs/applications/graphics/deskew/default.nix37
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix4
-rw-r--r--pkgs/applications/graphics/photoflow/default.nix4
-rw-r--r--pkgs/applications/graphics/rapid-photo-downloader/default.nix4
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix13
-rw-r--r--pkgs/applications/graphics/tesseract/4.x.nix10
-rw-r--r--pkgs/applications/inferno/default.nix58
-rwxr-xr-xpkgs/applications/inferno/inferno31
-rw-r--r--pkgs/applications/kde/dolphin.nix4
-rw-r--r--pkgs/applications/misc/aminal/default.nix75
-rw-r--r--pkgs/applications/misc/autospotting/default.nix30
-rw-r--r--pkgs/applications/misc/autospotting/deps.nix75
-rw-r--r--pkgs/applications/misc/font-manager/default.nix4
-rw-r--r--pkgs/applications/misc/gImageReader/default.nix4
-rw-r--r--pkgs/applications/misc/gnome-recipes/default.nix79
-rw-r--r--pkgs/applications/misc/gnome-usage/default.nix4
-rw-r--r--pkgs/applications/misc/gramps/default.nix4
-rw-r--r--pkgs/applications/misc/guake/default.nix4
-rw-r--r--pkgs/applications/misc/gxneur/default.nix2
-rw-r--r--pkgs/applications/misc/kupfer/default.nix4
-rw-r--r--pkgs/applications/misc/llpp/default.nix2
-rw-r--r--pkgs/applications/misc/mako/default.nix4
-rw-r--r--pkgs/applications/misc/nnn/default.nix4
-rw-r--r--pkgs/applications/misc/notejot/default.nix4
-rw-r--r--pkgs/applications/misc/onboard/default.nix4
-rw-r--r--pkgs/applications/misc/oneko/default.nix13
-rw-r--r--pkgs/applications/misc/orca/default.nix13
-rw-r--r--pkgs/applications/misc/orca/fix-paths.patch49
-rw-r--r--pkgs/applications/misc/pdf-quench/default.nix2
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix4
-rw-r--r--pkgs/applications/misc/pinfo/default.nix2
-rw-r--r--pkgs/applications/misc/plank/default.nix4
-rw-r--r--pkgs/applications/misc/redshift/default.nix4
-rw-r--r--pkgs/applications/misc/regextester/default.nix4
-rw-r--r--pkgs/applications/misc/safeeyes/default.nix4
-rw-r--r--pkgs/applications/misc/sakura/default.nix2
-rw-r--r--pkgs/applications/misc/sequeler/default.nix4
-rw-r--r--pkgs/applications/misc/slic3r/prusa3d.nix10
-rw-r--r--pkgs/applications/misc/solaar/default.nix4
-rw-r--r--pkgs/applications/misc/synapse/default.nix4
-rw-r--r--pkgs/applications/misc/terminator/default.nix4
-rw-r--r--pkgs/applications/misc/tilda/default.nix12
-rw-r--r--pkgs/applications/misc/tootle/default.nix4
-rw-r--r--pkgs/applications/misc/udiskie/default.nix4
-rw-r--r--pkgs/applications/misc/workrave/default.nix4
-rw-r--r--pkgs/applications/misc/xcruiser/default.nix14
-rw-r--r--pkgs/applications/misc/xmove/default.nix19
-rw-r--r--pkgs/applications/misc/xxkb/default.nix19
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/eolie/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/lynx/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/midori/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubetail/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/stern/default.nix27
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--pkgs/applications/networking/corebird/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/taxi/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/astroid/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/balsa/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/realpine/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/tixati/default.nix4
-rw-r--r--pkgs/applications/networking/remote/ssvnc/default.nix4
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix4
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix5
-rw-r--r--pkgs/applications/networking/syncthing-gtk/default.nix4
-rw-r--r--pkgs/applications/networking/transporter/default.nix4
-rw-r--r--pkgs/applications/networking/weather/meteo/default.nix4
-rw-r--r--pkgs/applications/office/aesop/default.nix4
-rw-r--r--pkgs/applications/office/autokey/default.nix4
-rw-r--r--pkgs/applications/office/bookworm/default.nix4
-rw-r--r--pkgs/applications/office/gnucash/2.4.nix3
-rw-r--r--pkgs/applications/office/gnucash/default.nix4
-rw-r--r--pkgs/applications/office/kmymoney/default.nix3
-rw-r--r--pkgs/applications/office/marp/default.nix21
-rw-r--r--pkgs/applications/office/planner/default.nix3
-rw-r--r--pkgs/applications/office/spice-up/default.nix4
-rw-r--r--pkgs/applications/office/tryton/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/xearth/default.nix13
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix9
-rw-r--r--pkgs/applications/science/chemistry/gwyddion/default.nix2
-rw-r--r--pkgs/applications/science/electronics/librepcb/default.nix6
-rw-r--r--pkgs/applications/science/electronics/tkgate/1.x.nix4
-rw-r--r--pkgs/applications/science/logic/z3/default.nix4
-rw-r--r--pkgs/applications/science/math/R/default.nix2
-rw-r--r--pkgs/applications/science/math/fricas/default.nix2
-rw-r--r--pkgs/applications/science/math/nasc/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/README.md41
-rw-r--r--pkgs/applications/science/math/sage/default.nix144
-rw-r--r--pkgs/applications/science/math/sage/env-locations.nix2
-rw-r--r--pkgs/applications/science/math/sage/openblas-pc.nix17
-rw-r--r--pkgs/applications/science/math/sage/patches/eclib-20180710.patch16
-rw-r--r--pkgs/applications/science/math/sage/patches/eclib-regulator-precision.patch98
-rw-r--r--pkgs/applications/science/math/sage/patches/known-padics-bug.patch15
-rw-r--r--pkgs/applications/science/math/sage/patches/matplotlib-normed-deprecated.patch12
-rw-r--r--pkgs/applications/science/math/sage/sage-env.nix28
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix31
-rw-r--r--pkgs/applications/science/math/sage/sage-tests.nix51
-rw-r--r--pkgs/applications/science/math/sage/sage-with-env.nix24
-rw-r--r--pkgs/applications/science/math/sage/sage-wrapper.nix41
-rw-r--r--pkgs/applications/science/math/sage/sage.nix53
-rw-r--r--pkgs/applications/science/math/sage/sagedoc.nix42
-rw-r--r--pkgs/applications/science/math/sage/sagelib.nix16
-rw-r--r--pkgs/applications/science/math/sage/sagenb.nix5
-rw-r--r--pkgs/applications/science/misc/golly/beta.nix2
-rw-r--r--pkgs/applications/science/misc/golly/default.nix2
-rw-r--r--pkgs/applications/science/misc/golly/default.upstream2
-rw-r--r--pkgs/applications/science/physics/quantomatic/default.nix31
-rw-r--r--pkgs/applications/search/catfish/default.nix4
-rw-r--r--pkgs/applications/version-management/bazaar/tools.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/fast-export/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-reparent/default.nix33
-rw-r--r--pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch27
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch11
-rw-r--r--pkgs/applications/version-management/gitlab/data.json32
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix34
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile (renamed from pkgs/applications/version-management/gitaly/Gemfile)17
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock (renamed from pkgs/applications/version-management/gitaly/Gemfile.lock)127
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix (renamed from pkgs/applications/version-management/gitaly/default.nix)4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix (renamed from pkgs/applications/version-management/gitaly/gemset.nix)268
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix (renamed from pkgs/applications/version-management/gitlab-shell/default.nix)4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch58
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix (renamed from pkgs/applications/version-management/gitlab-workhorse/default.nix)8
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/remove-hardcoded-paths.patch (renamed from pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch)0
-rwxr-xr-xpkgs/applications/version-management/gitlab/update.py234
-rw-r--r--pkgs/applications/version-management/meld/default.nix8
-rw-r--r--pkgs/applications/version-management/monotone-viz/default.nix6
-rw-r--r--pkgs/applications/video/gnomecast/default.nix4
-rw-r--r--pkgs/applications/video/kazam/default.nix4
-rw-r--r--pkgs/applications/video/mpv/scripts/mpris.nix4
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix4
-rw-r--r--pkgs/applications/video/pitivi/default.nix29
-rw-r--r--pkgs/applications/video/pyca/default.nix30
-rw-r--r--pkgs/applications/virtualization/driver/win-spice/default.nix15
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix24
-rw-r--r--pkgs/applications/virtualization/spice-vdagent/default.nix2
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix4
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix4
-rw-r--r--pkgs/applications/window-managers/dwm/dwm-status.nix4
-rw-r--r--pkgs/applications/window-managers/i3/i3ipc-glib.nix4
-rw-r--r--pkgs/applications/window-managers/i3/status.nix4
-rw-r--r--pkgs/applications/window-managers/larswm/default.nix12
-rw-r--r--pkgs/applications/window-managers/stalonetray/default.nix2
-rw-r--r--pkgs/applications/window-managers/sway/beta.nix4
-rw-r--r--pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c2
-rw-r--r--pkgs/build-support/build-maven.nix18
-rw-r--r--pkgs/build-support/emacs/melpa.nix29
-rw-r--r--pkgs/build-support/emacs/trivial.nix13
-rw-r--r--pkgs/build-support/ocaml/dune.nix4
-rw-r--r--pkgs/build-support/setup-hooks/auto-patchelf.sh67
-rw-r--r--pkgs/build-support/setup-hooks/set-source-date-epoch-to-latest.sh2
-rw-r--r--pkgs/build-support/writers/default.nix239
-rw-r--r--pkgs/build-support/writers/test.nix149
-rw-r--r--pkgs/data/fonts/cantarell-fonts/default.nix12
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix6
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix27
-rw-r--r--pkgs/data/fonts/twemoji-color-font/default.nix4
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/misc/mailcap/default.nix28
-rw-r--r--pkgs/desktops/deepin/deepin-terminal/default.nix4
-rw-r--r--pkgs/desktops/deepin/go-gir-generator/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/apps/accerciser/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/cheese/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/evolution/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/file-roller/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/apps/gedit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/glade/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-characters/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-documents/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-logs/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-maps/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-notes/default.nix (renamed from pkgs/desktops/gnome-3/apps/bijiben/default.nix)12
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-photos/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-weather/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/apps/seahorse/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/core/baobab/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/dconf/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/core/empathy/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/core/eog/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/core/folks/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/gcr/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/fix-paths.patch28
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch52
-rw-r--r--pkgs/desktops/gnome-3/core/geocode-glib/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gjs/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-calculator/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-contacts/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch52
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch2
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-keyring/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-menus/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-system-log/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/grilo-plugins/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/core/grilo/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/gsound/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gucharmap/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/core/libgdata/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgee/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgepub/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgxps/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libpeas/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libzapojit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/3.28.nix55
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/rest/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/rygel/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/core/sushi/default.nix50
-rw-r--r--pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/totem/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/core/tracker/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/core/vte/2.90.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/vte/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/yelp-xsl/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/zenity/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/devtools/devhelp/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/devtools/nemiver/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/extensions/caffeine/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/icon-hider/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/system-monitor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/find-latest-version.py2
-rw-r--r--pkgs/desktops/gnome-3/games/aisleriot/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/atomix/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/five-or-more/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-chess/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-mines/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-taquin/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/iagno/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/games/lightsoff/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/games/swell-foop/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/california/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/geary/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/misc/gexiv2/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/misc/gfbgraph/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gitg/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-applets/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-panel/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/misc/gpaste/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/misc/libgda/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/libmediaart/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/metacity/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/pomodoro/default.nix14
-rw-r--r--pkgs/desktops/mate/mate-menus/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-polkit/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix4
-rw-r--r--pkgs/desktops/xfce4-13/libxfce4ui/default.nix4
-rw-r--r--pkgs/desktops/xfce4-13/libxfce4util/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.4.4.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.6.1.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.6.2.nix4
-rw-r--r--pkgs/development/compilers/ghc/head.nix2
-rw-r--r--pkgs/development/compilers/vala/default.nix14
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix7
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix13
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-head.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml111
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2081
-rw-r--r--pkgs/development/haskell-modules/patches/fgl-monad-fail.patch61
-rw-r--r--pkgs/development/interpreters/erlang/R21.nix4
-rw-r--r--pkgs/development/interpreters/php/default.nix51
-rw-r--r--pkgs/development/interpreters/php/fix-paths-php7.patch33
-rw-r--r--pkgs/development/interpreters/php/php71-darwin-isfinite.patch60
-rw-r--r--pkgs/development/interpreters/php/php72-darwin-isfinite.patch62
-rw-r--r--pkgs/development/interpreters/spidermonkey/60.nix56
-rw-r--r--pkgs/development/libraries/SDL/default.nix2
-rw-r--r--pkgs/development/libraries/Xaw3d/default.nix1
-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/aravis/default.nix89
-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/bootil/default.nix26
-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/cogl/default.nix4
-rw-r--r--pkgs/development/libraries/confuse/default.nix17
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix5
-rw-r--r--pkgs/development/libraries/dee/default.nix4
-rw-r--r--pkgs/development/libraries/dssi/default.nix2
-rw-r--r--pkgs/development/libraries/farstream/default.nix4
-rw-r--r--pkgs/development/libraries/flatpak/default.nix4
-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.nix4
-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.nix8
-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.nix32
-rw-r--r--pkgs/development/libraries/gobject-introspection/macos-shared-library.patch10
-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/grpc/default.nix6
-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/keybinder/default.nix4
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix4
-rw-r--r--pkgs/development/libraries/kyotocabinet/default.nix2
-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/libdazzle/default.nix15
-rw-r--r--pkgs/development/libraries/libdbusmenu/default.nix4
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix6
-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/libipfix/default.nix2
-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/libmatheval/default.nix16
-rw-r--r--pkgs/development/libraries/libmx/default.nix4
-rw-r--r--pkgs/development/libraries/libngspice/default.nix8
-rw-r--r--pkgs/development/libraries/libnotify/default.nix4
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libp11/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/libtar/default.nix4
-rw-r--r--pkgs/development/libraries/libtiff/default.nix24
-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/libwnck/3.x.nix4
-rw-r--r--pkgs/development/libraries/libxklavier/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/nlopt/default.nix9
-rw-r--r--pkgs/development/libraries/ntrack/default.nix2
-rw-r--r--pkgs/development/libraries/osip/3.nix17
-rw-r--r--pkgs/development/libraries/osm-gps-map/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/spdlog/default.nix10
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix6
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix2
-rw-r--r--pkgs/development/libraries/spice/default.nix2
-rw-r--r--pkgs/development/libraries/taglib/1.9.nix4
-rw-r--r--pkgs/development/libraries/talloc/default.nix14
-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/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/wlroots/default.nix21
-rw-r--r--pkgs/development/libraries/yojimbo/default.nix6
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/csv/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/opam-file-format/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/visitors/default.nix6
-rw-r--r--pkgs/development/perl-modules/catalyst-fix-chunked-encoding.patch23
-rw-r--r--pkgs/development/python-modules/affine/default.nix22
-rw-r--r--pkgs/development/python-modules/astunparse/default.nix21
-rw-r--r--pkgs/development/python-modules/async_generator/default.nix5
-rw-r--r--pkgs/development/python-modules/bugzilla/default.nix2
-rw-r--r--pkgs/development/python-modules/cairosvg/1_x.nix37
-rw-r--r--pkgs/development/python-modules/cartopy/default.nix46
-rw-r--r--pkgs/development/python-modules/configshell/default.nix21
-rw-r--r--pkgs/development/python-modules/datrie/default.nix9
-rw-r--r--pkgs/development/python-modules/distutils_extra/default.nix2
-rw-r--r--pkgs/development/python-modules/dogtail/default.nix4
-rw-r--r--pkgs/development/python-modules/effect/default.nix3
-rw-r--r--pkgs/development/python-modules/flask-socketio/default.nix33
-rw-r--r--pkgs/development/python-modules/fs-s3fs/default.nix23
-rw-r--r--pkgs/development/python-modules/gentools/default.nix31
-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/grpcio-tools/default.nix6
-rw-r--r--pkgs/development/python-modules/grpcio/default.nix4
-rw-r--r--pkgs/development/python-modules/gst-python/default.nix15
-rw-r--r--pkgs/development/python-modules/gtimelog/default.nix2
-rw-r--r--pkgs/development/python-modules/hg-git/default.nix13
-rw-r--r--pkgs/development/python-modules/hopcroftkarp/default.nix24
-rw-r--r--pkgs/development/python-modules/manuel/default.nix7
-rw-r--r--pkgs/development/python-modules/matchpy/default.nix33
-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/multiset/default.nix27
-rw-r--r--pkgs/development/python-modules/nbval/default.nix41
-rw-r--r--pkgs/development/python-modules/neovim_gui/default.nix2
-rw-r--r--pkgs/development/python-modules/netaddr/default.nix5
-rw-r--r--pkgs/development/python-modules/nose-focus/default.nix35
-rw-r--r--pkgs/development/python-modules/nose-of-yeti/default.nix30
-rw-r--r--pkgs/development/python-modules/nose-pattern-exclude/default.nix23
-rw-r--r--pkgs/development/python-modules/notify/default.nix2
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix9
-rw-r--r--pkgs/development/python-modules/pandas/default.nix2
-rw-r--r--pkgs/development/python-modules/perf/default.nix43
-rw-r--r--pkgs/development/python-modules/piexif/default.nix15
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/preggy/default.nix25
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix11
-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/py4j/default.nix4
-rw-r--r--pkgs/development/python-modules/pyatspi/default.nix4
-rw-r--r--pkgs/development/python-modules/pyblock/default.nix2
-rw-r--r--pkgs/development/python-modules/pyepsg/default.nix23
-rw-r--r--pkgs/development/python-modules/pyexiv2/default.nix2
-rw-r--r--pkgs/development/python-modules/pyftpdlib/default.nix6
-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/pykickstart/default.nix2
-rw-r--r--pkgs/development/python-modules/pyproj/default.nix17
-rw-r--r--pkgs/development/python-modules/pyres/default.nix45
-rw-r--r--pkgs/development/python-modules/pyssim/default.nix32
-rw-r--r--pkgs/development/python-modules/pytest-asyncio/default.nix5
-rw-r--r--pkgs/development/python-modules/pytest-mypy/default.nix25
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix49
-rw-r--r--pkgs/development/python-modules/python-mnist/default.nix18
-rw-r--r--pkgs/development/python-modules/python-socketio/default.nix33
-rw-r--r--pkgs/development/python-modules/pyupdate/default.nix28
-rw-r--r--pkgs/development/python-modules/rasterio/default.nix29
-rw-r--r--pkgs/development/python-modules/remotecv/default.nix38
-rw-r--r--pkgs/development/python-modules/remotecv/install_requires.patch16
-rw-r--r--pkgs/development/python-modules/rope/default.nix8
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix53
-rw-r--r--pkgs/development/python-modules/rpy2/r-libs-site.patch20
-rw-r--r--pkgs/development/python-modules/rtslib/default.nix21
-rw-r--r--pkgs/development/python-modules/sdnotify/default.nix21
-rw-r--r--pkgs/development/python-modules/should-dsl/default.nix22
-rw-r--r--pkgs/development/python-modules/sievelib/default.nix41
-rw-r--r--pkgs/development/python-modules/simplekml/default.nix20
-rw-r--r--pkgs/development/python-modules/snug/default.nix37
-rw-r--r--pkgs/development/python-modules/snuggs/default.nix29
-rw-r--r--pkgs/development/python-modules/sure/default.nix13
-rw-r--r--pkgs/development/python-modules/thumbor/default.nix58
-rw-r--r--pkgs/development/python-modules/uarray/default.nix44
-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/python-modules/yanc/default.nix27
-rw-r--r--pkgs/development/python-modules/yattag/default.nix17
-rw-r--r--pkgs/development/r-modules/wrapper-rstudio.nix8
-rw-r--r--pkgs/development/r-modules/wrapper.nix3
-rw-r--r--pkgs/development/ruby-modules/bundix/default.nix4
-rw-r--r--pkgs/development/ruby-modules/bundled-common/default.nix2
-rw-r--r--pkgs/development/ruby-modules/bundler-app/default.nix1
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix9
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix18
-rw-r--r--pkgs/development/tools/analysis/valgrind/coregrind-makefile-race.patch41
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/rake/Gemfile.lock4
-rw-r--r--pkgs/development/tools/build-managers/rake/gemset.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/database/sqlcheck/default.nix26
-rw-r--r--pkgs/development/tools/database/sqlite-web/default.nix25
-rw-r--r--pkgs/development/tools/fusee-launcher/default.nix43
-rw-r--r--pkgs/development/tools/gauge/default.nix4
-rw-r--r--pkgs/development/tools/heroku/default.nix6
-rw-r--r--pkgs/development/tools/kube-prompt/default.nix4
-rw-r--r--pkgs/development/tools/kube-prompt/deps.nix4
-rw-r--r--pkgs/development/tools/kubicorn/default.nix26
-rw-r--r--pkgs/development/tools/kustomize/default.nix8
-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/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/prelink/default.nix2
-rw-r--r--pkgs/development/tools/misc/premake/3.nix3
-rw-r--r--pkgs/development/tools/misc/premake/5.nix3
-rw-r--r--pkgs/development/tools/misc/premake/default.nix7
-rw-r--r--pkgs/development/tools/misc/premake/setup-hook.sh19
-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/ocaml/omake/0.9.8.6-rc1.nix2
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix4
-rw-r--r--pkgs/development/tools/pew/default.nix3
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix12
-rw-r--r--pkgs/development/tools/pipenv/default.nix4
-rw-r--r--pkgs/development/tools/profiling/sysprof/default.nix14
-rw-r--r--pkgs/development/tools/scss-lint/Gemfile2
-rw-r--r--pkgs/development/tools/scss-lint/Gemfile.lock25
-rw-r--r--pkgs/development/tools/scss-lint/default.nix15
-rw-r--r--pkgs/development/tools/scss-lint/gemset.nix62
-rw-r--r--pkgs/development/tools/tychus/default.nix28
-rw-r--r--pkgs/development/tools/tychus/deps.nix30
-rw-r--r--pkgs/development/tools/valadoc/default.nix4
-rw-r--r--pkgs/development/tools/xcpretty/Gemfile2
-rw-r--r--pkgs/development/tools/xcpretty/Gemfile.lock15
-rw-r--r--pkgs/development/tools/xcpretty/default.nix27
-rw-r--r--pkgs/development/tools/xcpretty/gemset.nix19
-rw-r--r--pkgs/games/blobby/default.nix4
-rw-r--r--pkgs/games/blobby/default.upstream2
-rw-r--r--pkgs/games/boohu/default.nix4
-rw-r--r--pkgs/games/crack-attack/default.nix17
-rw-r--r--pkgs/games/gmad/default.nix2
-rw-r--r--pkgs/games/gshogi/default.nix4
-rw-r--r--pkgs/games/hyperrogue/default.nix6
-rw-r--r--pkgs/games/steam/runtime-wrapped.nix2
-rw-r--r--pkgs/games/tennix/fix_FTBFS.patch4
-rw-r--r--pkgs/games/tome4/default.nix16
-rw-r--r--pkgs/games/widelands/default.nix2
-rw-r--r--pkgs/games/xsnow/default.nix18
-rw-r--r--pkgs/misc/cups/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/estudio/default.nix2
-rw-r--r--pkgs/misc/drivers/hplip/3.16.11.nix2
-rw-r--r--pkgs/misc/drivers/hplip/default.nix2
-rw-r--r--pkgs/misc/drivers/hplip/hplip.state2
-rw-r--r--pkgs/misc/drivers/sc-controller/default.nix4
-rw-r--r--pkgs/misc/screensavers/xautolock/default.nix12
-rw-r--r--pkgs/misc/seafile-shared/default.nix4
-rw-r--r--pkgs/misc/themes/nordic/default.nix6
-rw-r--r--pkgs/misc/vim-plugins/default.nix1
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix5
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/default.nix9
-rw-r--r--pkgs/os-specific/linux/audit/default.nix2
-rw-r--r--pkgs/os-specific/linux/bridge-utils/default.nix6
-rw-r--r--pkgs/os-specific/linux/fatrace/default.nix2
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix2
-rw-r--r--pkgs/os-specific/linux/firejail/default.upstream2
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix4
-rw-r--r--pkgs/os-specific/linux/fusionio/srcs.nix22
-rw-r--r--pkgs/os-specific/linux/fusionio/util.nix45
-rw-r--r--pkgs/os-specific/linux/fusionio/vsl-fix-file-inode.patch13
-rw-r--r--pkgs/os-specific/linux/fusionio/vsl.nix39
-rw-r--r--pkgs/os-specific/linux/gogoclient/default.nix2
-rw-r--r--pkgs/os-specific/linux/ioport/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/libcap-ng/default.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix10
-rw-r--r--pkgs/os-specific/linux/open-iscsi/default.nix30
-rw-r--r--pkgs/os-specific/linux/piper/default.nix4
-rw-r--r--pkgs/os-specific/linux/pommed-light/default.nix20
-rw-r--r--pkgs/os-specific/linux/pommed/default.nix80
-rw-r--r--pkgs/os-specific/linux/pommed/find-eject-in-path.patch12
-rw-r--r--pkgs/os-specific/linux/reptyr/default.nix16
-rw-r--r--pkgs/os-specific/linux/sssd/default.nix19
-rw-r--r--pkgs/os-specific/linux/targetcli/default.nix22
-rw-r--r--pkgs/os-specific/linux/tiptop/default.nix3
-rw-r--r--pkgs/os-specific/linux/tiscamera/default.nix4
-rw-r--r--pkgs/os-specific/linux/udisks-glue/default.nix6
-rw-r--r--pkgs/os-specific/linux/udisks/2-default.nix4
-rw-r--r--pkgs/os-specific/linux/upower/default.nix4
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix4
-rw-r--r--pkgs/servers/echoip/default.nix30
-rw-r--r--pkgs/servers/echoip/deps.nix74
-rw-r--r--pkgs/servers/home-assistant/appdaemon.nix2
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix4
-rw-r--r--pkgs/servers/mxisd/0001-gradle.patch22
-rw-r--r--pkgs/servers/mxisd/default.nix70
-rw-r--r--pkgs/servers/nas/default.nix7
-rw-r--r--pkgs/servers/roundcube/default.nix8
-rw-r--r--pkgs/servers/sql/cockroachdb/default.nix44
-rw-r--r--pkgs/servers/sql/postgresql/default.nix12
-rw-r--r--pkgs/servers/traefik/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh1
-rw-r--r--pkgs/servers/x11/xorg/default.nix10
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl24
-rw-r--r--pkgs/servers/x11/xorg/imake-setup-hook.sh19
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix20
-rw-r--r--pkgs/shells/zsh/grml-zsh-config/default.nix4
-rw-r--r--pkgs/shells/zsh/nix-zsh-completions/default.nix4
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix36
-rw-r--r--pkgs/stdenv/linux/default.nix4
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix1
-rw-r--r--pkgs/test/cross/default.nix62
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/tools/X11/ckbcomp/default.nix22
-rw-r--r--pkgs/tools/X11/dispad/default.nix4
-rw-r--r--pkgs/tools/X11/keynav/default.nix10
-rw-r--r--pkgs/tools/X11/wpgtk/default.nix4
-rw-r--r--pkgs/tools/X11/x2x/default.nix16
-rw-r--r--pkgs/tools/X11/xbrightness/default.nix22
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/X11/xvkbd/default.nix15
-rw-r--r--pkgs/tools/X11/xzoom/default.nix17
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix5
-rw-r--r--pkgs/tools/admin/lxd/default.nix4
-rw-r--r--pkgs/tools/admin/pulumi/default.nix39
-rw-r--r--pkgs/tools/admin/tightvnc/default.nix38
-rw-r--r--pkgs/tools/audio/beets/alternatives-plugin.nix13
-rw-r--r--pkgs/tools/audio/beets/default.nix13
-rw-r--r--pkgs/tools/audio/playerctl/default.nix14
-rw-r--r--pkgs/tools/backup/wal-g/default.nix10
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/filesystems/f2fs-tools/default.nix2
-rw-r--r--pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch27
-rw-r--r--pkgs/tools/filesystems/jfsutils/ar-fix.patch10
-rw-r--r--pkgs/tools/filesystems/jfsutils/default.nix10
-rw-r--r--pkgs/tools/filesystems/lizardfs/default.nix38
-rw-r--r--pkgs/tools/filesystems/lizardfs/remove-download-external.patch25
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix11
-rw-r--r--pkgs/tools/filesystems/mtools/fix-dos_to_wchar-declaration.patch11
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/dmraid.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pyblock.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix2
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/default.nix4
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch10
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.upstream2
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix19
-rw-r--r--pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch53
-rw-r--r--pkgs/tools/graphics/perceptualdiff/default.nix25
-rw-r--r--pkgs/tools/graphics/transfig/default.nix12
-rw-r--r--pkgs/tools/graphics/vips/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix4
-rw-r--r--pkgs/tools/inputmethods/libkkc/default.nix4
-rw-r--r--pkgs/tools/misc/bmon/default.nix4
-rw-r--r--pkgs/tools/misc/clipster/default.nix4
-rw-r--r--pkgs/tools/misc/colord/default.nix4
-rw-r--r--pkgs/tools/misc/diskus/default.nix8
-rw-r--r--pkgs/tools/misc/hashit/default.nix4
-rw-r--r--pkgs/tools/misc/ldmtool/default.nix7
-rw-r--r--pkgs/tools/misc/mysqltuner/default.nix4
-rw-r--r--pkgs/tools/misc/nbench/default.nix31
-rw-r--r--pkgs/tools/misc/ostree/default.nix4
-rw-r--r--pkgs/tools/misc/otfcc/default.nix14
-rw-r--r--pkgs/tools/misc/pgcenter/default.nix24
-rw-r--r--pkgs/tools/misc/pgcenter/deps.nix112
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix4
-rw-r--r--pkgs/tools/misc/woeusb/default.nix7
-rw-r--r--pkgs/tools/misc/xburst-tools/default.nix6
-rw-r--r--pkgs/tools/misc/yad/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix8
-rw-r--r--pkgs/tools/networking/network-manager/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/dmenu.nix4
-rw-r--r--pkgs/tools/networking/p2p/bittornado/default.nix26
-rw-r--r--pkgs/tools/networking/ssmtp/default.nix2
-rw-r--r--pkgs/tools/networking/x11-ssh-askpass/default.nix10
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix4
-rw-r--r--pkgs/tools/security/ecryptfs/default.nix2
-rw-r--r--pkgs/tools/security/gencfsm/default.nix4
-rw-r--r--pkgs/tools/security/kbfs/default.nix4
-rw-r--r--pkgs/tools/security/keybase/default.nix4
-rw-r--r--pkgs/tools/security/keybase/gui.nix55
-rw-r--r--pkgs/tools/security/mkpasswd/default.nix2
-rw-r--r--pkgs/tools/security/onioncircuits/default.nix4
-rw-r--r--pkgs/tools/security/super/default.nix4
-rw-r--r--pkgs/tools/security/wpscan/Gemfile2
-rw-r--r--pkgs/tools/security/wpscan/Gemfile.lock55
-rw-r--r--pkgs/tools/security/wpscan/default.nix21
-rw-r--r--pkgs/tools/security/wpscan/gemset.nix164
-rw-r--r--pkgs/tools/system/dfc/default.nix14
-rw-r--r--pkgs/tools/system/efivar/default.nix3
-rw-r--r--pkgs/tools/system/hardinfo/default.nix3
-rw-r--r--pkgs/tools/system/hardlink/default.nix2
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix2
-rw-r--r--pkgs/tools/system/ipmiutil/default.upstream2
-rw-r--r--pkgs/tools/system/smartmontools/default.nix4
-rw-r--r--pkgs/tools/text/gist/default.nix16
-rw-r--r--pkgs/tools/text/vale/default.nix9
-rw-r--r--pkgs/tools/video/vncrec/default.nix13
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix144
-rw-r--r--pkgs/top-level/haskell-packages.nix4
-rw-r--r--pkgs/top-level/lua-packages.nix8
-rw-r--r--pkgs/top-level/perl-packages.nix160
-rw-r--r--pkgs/top-level/python-packages.nix74
-rw-r--r--pkgs/top-level/release-lib.nix2
816 files changed, 9087 insertions, 5353 deletions
diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix
index 630dec57f198..f443aec43ddb 100644
--- a/pkgs/applications/audio/a2jmidid/default.nix
+++ b/pkgs/applications/audio/a2jmidid/default.nix
@@ -9,12 +9,12 @@ in stdenv.mkDerivation rec {
   version = "8";
 
   src = fetchurl {
-    url = "http://repo.or.cz/a2jmidid.git/snapshot/7383d268c4bfe85df9f10df6351677659211d1ca.tar.gz";
+    url = "https://repo.or.cz/a2jmidid.git/snapshot/7383d268c4bfe85df9f10df6351677659211d1ca.tar.gz";
     sha256 = "06dgf5655znbvrd7fhrv8msv6zw8vk0hjqglcqkh90960mnnmwz7";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ makeWrapper alsaLib dbus libjack2 python dbus-python ];
+  nativeBuildInputs = [ pkgconfig makeWrapper wafHook ];
+  buildInputs = [ alsaLib dbus libjack2 python dbus-python ];
 
   postInstall = ''
     wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
diff --git a/pkgs/applications/audio/avldrums-lv2/default.nix b/pkgs/applications/audio/avldrums-lv2/default.nix
index 40fb0c6d9e15..75b6d8e27580 100644
--- a/pkgs/applications/audio/avldrums-lv2/default.nix
+++ b/pkgs/applications/audio/avldrums-lv2/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "avldrums.lv2";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "x42";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0w51gdshq2i5bix2x5l3g3gnycy84nlzf5sj0jkrw0zrnbk6ghwg";
+    sha256 = "0yhq3n5bahhqpj40mvlkxcjsdsw63jsbz20pl77bx2qj30w25i2j";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/cadence/default.nix b/pkgs/applications/audio/cadence/default.nix
index cc4f5cae2def..f7fa9dbd8615 100644
--- a/pkgs/applications/audio/cadence/default.nix
+++ b/pkgs/applications/audio/cadence/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, fetchurl
+, fetchzip
 , pkgconfig
 , qtbase
 , makeWrapper
@@ -12,31 +12,13 @@
   version = "0.9.0";
   pname = "cadence";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz";
-    sha256 = "07z1mnb0bmldb3i31bgw816pnvlvr9gawr51rpx3mhixg5wpiqzb";
+    sha256 = "08vcggypkdfr70v49innahs5s11hi222dhhnm5wcqzdgksphqzwx";
   };
 
-  buildInputs = [
-    makeWrapper
-    pkgconfig
-    qtbase
-  ];
-
-  apps = [
-    "cadence"
-    "cadence-jacksettings"
-    "cadence-pulse2loopback"
-    "claudia"
-    "cadence-aloop-daemon"
-    "cadence-logs"
-    "cadence-render"
-    "catarina"
-    "claudia-launcher"
-    "cadence-pulse2jack"
-    "cadence-session-start"
-    "catia"
-  ];
+  nativeBuildInputs = [ makeWrapper pkgconfig ];
+  buildInputs = [ qtbase ];
 
   makeFlags = ''
     PREFIX=""
@@ -46,20 +28,54 @@
   propagatedBuildInputs = with python3Packages; [ pyqt5 ];
 
   postInstall = ''
-    # replace with our own wrappers.
-    for app in $apps; do
-      rm $out/bin/$app
-      makeWrapper ${python3Packages.python.interpreter} $out/bin/$app \
-        --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
-        --add-flags "-O $out/share/cadence/src/$app.py"
-    done
+    # replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise
+    rm $out/bin/cadence
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/cadence.py"
+    rm $out/bin/claudia
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/claudia \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/claudia.py"
+    rm $out/bin/catarina
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/catarina \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/catarina.py"
+    rm $out/bin/catia
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/catia \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/catia.py"
+    rm $out/bin/cadence-jacksettings
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-jacksettings \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/jacksettings.py"
+    rm $out/bin/cadence-aloop-daemon
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-aloop-daemon \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/cadence_aloop_daemon.py"
+    rm $out/bin/cadence-logs
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-logs \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/logs.py"
+    rm $out/bin/cadence-render
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-render \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/render.py"
+    rm $out/bin/claudia-launcher
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/claudia-launcher \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/claudia_launcher.py"
+    rm $out/bin/cadence-session-start
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-session-start \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
+      --add-flags "-O $out/share/cadence/src/cadence_session_start.py"
   '';
 
   meta = {
     homepage = https://github.com/falkTX/Cadence/;
     description = "Collection of tools useful for audio production";
-    license = stdenv.lib.licenses.mit;
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ genesis ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/audio/cozy-audiobooks/default.nix b/pkgs/applications/audio/cozy-audiobooks/default.nix
index 1b996f9f0c5e..3d7d63c4be6d 100644
--- a/pkgs/applications/audio/cozy-audiobooks/default.nix
+++ b/pkgs/applications/audio/cozy-audiobooks/default.nix
@@ -8,7 +8,7 @@
 , desktop-file-utils
 , gtk3
 , gst_all_1
-, gobjectIntrospection
+, gobject-introspection
 , python3Packages
 , file
 , cairo
@@ -36,7 +36,7 @@ python3Packages.buildPythonApplication rec {
     wrapGAppsHook
     appstream-glib
     desktop-file-utils
-    gobjectIntrospection
+    gobject-introspection
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index bf79b68bc7db..1c41451b08f3 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -1,7 +1,13 @@
 { stdenv, fetchFromGitHub, alsaLib, fftwSinglePrec, freetype, libjack2
-, pkgconfig, premake3, xorg, ladspa-sdk }:
+, pkgconfig, ladspa-sdk, premake3
+, libX11, libXcomposite, libXcursor, libXext, libXinerama, libXrender
+}:
 
-stdenv.mkDerivation rec {
+let
+  premakeos = if stdenv.hostPlatform.isDarwin then "osx"
+              else if stdenv.hostPlatform.isWindows then "mingw"
+              else "linux";
+in stdenv.mkDerivation rec {
   name = "distrho-ports-${version}";
   version = "2018-04-16";
 
@@ -12,27 +18,26 @@ stdenv.mkDerivation rec {
     sha256 = "0l4zwl4mli8jzch32a1fh7c88r9q17xnkxsdw17ds5hadnxlk12v";
   };
 
+  configurePhase = ''
+    runHook preConfigure
+
+    sh ./scripts/premake-update.sh ${premakeos}
+
+    runHook postConfigure
+  '';
+
   patchPhase = ''
     sed -e "s#@./scripts#sh scripts#" -i Makefile
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig premake3 ];
   buildInputs = [
-    alsaLib fftwSinglePrec freetype libjack2 premake3
-    xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext
-    xorg.libXinerama xorg.libXrender ladspa-sdk
+    alsaLib fftwSinglePrec freetype libjack2
+    libX11 libXcomposite libXcursor libXext
+    libXinerama libXrender ladspa-sdk
   ];
 
-  buildPhase = ''
-    sh ./scripts/premake-update.sh linux
-    make lv2
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/lib/lv2
-    cp -a bin/lv2/* $out/lib/lv2/
-  '';
+  makeFlags = "PREFIX=$(out)";
 
   meta = with stdenv.lib; {
     homepage = http://distrho.sourceforge.net;
diff --git a/pkgs/applications/audio/dragonfly-reverb/default.nix b/pkgs/applications/audio/dragonfly-reverb/default.nix
index fbe987e09cbe..1710931aa229 100644
--- a/pkgs/applications/audio/dragonfly-reverb/default.nix
+++ b/pkgs/applications/audio/dragonfly-reverb/default.nix
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "michaelwillis";
     repo = "dragonfly-reverb";
-    rev = "0.9.4";
-    sha256 = "0lc45jybjwg4wrcz4s9lvzpvqawgj825rkqhz2xxvalfbvjazi53";
+    rev = "1.0.0";
+    sha256 = "05m4hd8lg0a7iiia6cbiw5qmc4p8vbkxp2qh7ywaabawiwa9r24x";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
new file mode 100644
index 000000000000..c8db1ac6d10a
--- /dev/null
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, fetchFromGitLab, meson, ninja, gettext, cargo, rustc, python3, rustPlatform, pkgconfig, gnome3
+, glib, libhandy, gtk3, dbus, openssl, sqlite, gst_all_1, wrapGAppsHook }:
+
+# TODO: build from git for easier updates
+# rustPlatform.buildRustPackage rec {
+stdenv.mkDerivation rec {
+  version = "0.4.6";
+  name = "gnome-podcasts-${version}";
+
+  src = fetchurl {
+    url = https://gitlab.gnome.org/World/podcasts/uploads/e59ac5d618d7daf4c7f33ba72957c466/gnome-podcasts-0.4.6.tar.xz;
+    sha256 = "0g2rk3w251fp5jwbxs5ya1adv8nsgdqjy1vmfg8qqab6qyndhbrc";
+  };
+
+  # src = fetchFromGitLab {
+  #   domain = "gitlab.gnome.org";
+  #   owner = "World";
+  #   repo = "podcasts";
+  #   rev = version;
+  #   sha256 = "15xj98dhxvys0cnya9488qsfsm0ys1wy69wkc39z8j6hwdm7byq2";
+  # };
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext cargo rustc python3 wrapGAppsHook
+  ];
+  buildInputs = [
+    glib gtk3 libhandy dbus openssl sqlite gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-bad
+  ];
+
+  # cargoSha256 = "0721b5f700vvvzvmdl8nfjaa6j412q1fjssgrjv8n6rmn9z13d2v";
+
+  postPatch = ''
+    chmod +x scripts/compile-gschema.py # patchShebangs requires executable file
+    patchShebangs scripts/compile-gschema.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Listen to your favorite podcasts";
+    homepage = https://wiki.gnome.org/Apps/Podcasts;
+    license = licenses.gpl3;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index ccd20a6b7b2b..342f495767db 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, python3, python3Packages, intltool
 , glibcLocales, gnome3, gtk3, wrapGAppsHook
-, ipodSupport ? false, libgpod, gobjectIntrospection
+, ipodSupport ? false, libgpod, gobject-introspection
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec {
 
   buildInputs = [
     python3
-    gobjectIntrospection
+    gobject-introspection
     gnome3.defaultIconTheme
   ];
 
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index f68d93fa69d4..df43e5ed3b3d 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, meson, ninja, pkgconfig
 , python3, gtk3, gst_all_1, libsecret, libsoup
 , appstream-glib, desktop-file-utils, gnome3
-, gobjectIntrospection, wrapGAppsHook }:
+, gobject-introspection, wrapGAppsHook }:
 
 python3.pkgs.buildPythonApplication rec  {
   version = "0.9.611";
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec  {
   nativeBuildInputs = with python3.pkgs; [
     appstream-glib
     desktop-file-utils
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index a782cf839bfe..81b14a694534 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pythonPackages, wrapGAppsHook
-, gst_all_1, glib-networking, gobjectIntrospection
+, gst_all_1, glib-networking, gobject-introspection
 }:
 
 pythonPackages.buildPythonApplication rec {
@@ -17,7 +17,7 @@ pythonPackages.buildPythonApplication rec {
 
   buildInputs = with gst_all_1; [
     gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
-    glib-networking gobjectIntrospection
+    glib-networking gobject-introspection
   ];
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index 847e67ebd8ee..c3f45caf5311 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.31.1";
+  version = "3.31.2";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "1djxkgjvfzijvlq3gill1p20l0q64dbv9wd55whbir1l7y8wdga5";
+    sha256 = "0639ib5nicrabckjd17wdmhl8n3822gc2p1bn0xv8mq70paspar6";
   };
 
   propagatedBuildInputs = [
@@ -17,7 +17,7 @@ pythonPackages.buildPythonApplication rec {
     pylast
     spotipy
     raven
-    tornado
+    tornado_4
   ]);
 
   postPatch = "sed -i /tornado/d setup.py";
diff --git a/pkgs/applications/audio/mopidy/local-images.nix b/pkgs/applications/audio/mopidy/local-images.nix
index 3e10904f3e69..2ffc736572bf 100644
--- a/pkgs/applications/audio/mopidy/local-images.nix
+++ b/pkgs/applications/audio/mopidy/local-images.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pythonPackages, mopidy, gobjectIntrospection }:
+{ stdenv, fetchFromGitHub, pythonPackages, mopidy, gobject-introspection }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-local-images";
@@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0gdqxws0jish50mmi57mlqcs659wrllzv00czl18niz94vzvyc0d";
   };
 
-  buildInputs = [ gobjectIntrospection ];
+  buildInputs = [ gobject-introspection ];
 
   checkInputs = [
     pythonPackages.mock
diff --git a/pkgs/applications/audio/pithos/default.nix b/pkgs/applications/audio/pithos/default.nix
index 1d3fffb549d7..c7bb1a4193f9 100644
--- a/pkgs/applications/audio/pithos/default.nix
+++ b/pkgs/applications/audio/pithos/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, stdenv, pythonPackages, gtk3, gobjectIntrospection, libnotify
+{ fetchFromGitHub, stdenv, pythonPackages, gtk3, gobject-introspection, libnotify
 , gst_all_1, wrapGAppsHook }:
 
 pythonPackages.buildPythonApplication rec {
@@ -27,7 +27,7 @@ pythonPackages.buildPythonApplication rec {
   buildInputs = [ wrapGAppsHook ];
 
   propagatedBuildInputs =
-    [ gtk3 gobjectIntrospection libnotify ] ++
+    [ gtk3 gobject-introspection libnotify ] ++
     (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad ]) ++
     (with pythonPackages; [ pygobject3 pylast ]);
 
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index e26c2496d566..6c930ceb05a5 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python3, wrapGAppsHook, gettext, intltool, libsoup, gnome3, gtk3, gdk_pixbuf,
-  tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobjectIntrospection,
+  tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobject-introspection,
   gst_all_1, withGstPlugins ? true,
   xineBackend ? false, xineLib,
   withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false,
@@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
 
   checkInputs = with python3.pkgs; [ pytest pytest_xdist pyflakes pycodestyle polib xvfb_run dbus.daemon glibcLocales ];
 
-  buildInputs = [ gnome3.defaultIconTheme libsoup glib glib-networking gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ]
+  buildInputs = [ gnome3.defaultIconTheme libsoup glib glib-networking gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ]
     ++ (if xineBackend then [ xineLib ] else with gst_all_1;
     [ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]);
 
diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix
index cd06fa80f5aa..081c4ab41acb 100644
--- a/pkgs/applications/audio/renoise/default.nix
+++ b/pkgs/applications/audio/renoise/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsaLib, releasePath ? null }:
+{ stdenv, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsaLib
+, mpg123, releasePath ? null }:
 
 with stdenv.lib;
 
@@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
         releasePath
     else throw "Platform is not supported by Renoise";
 
-  buildInputs = [ libX11 libXext libXcursor libXrandr alsaLib libjack2 ];
+  buildInputs = [ alsaLib libjack2 libX11 libXcursor libXext libXrandr ];
 
   installPhase = ''
     cp -r Resources $out
@@ -54,13 +55,18 @@ stdenv.mkDerivation rec {
 
     mkdir $out/bin
     ln -s $out/renoise $out/bin/renoise
+  '';
 
-    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath $out/lib $out/renoise
+  postFixup = ''
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      --set-rpath ${mpg123}/lib:$out/lib \
+      $out/renoise
   '';
 
   meta = {
     description = "Modern tracker-based DAW";
-    homepage = http://www.renoise.com/;
+    homepage = https://www.renoise.com/;
     license = licenses.unfree;
     maintainers = [];
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/applications/audio/seq24/default.nix b/pkgs/applications/audio/seq24/default.nix
index 11ee00adc887..d47ede27ece2 100644
--- a/pkgs/applications/audio/seq24/default.nix
+++ b/pkgs/applications/audio/seq24/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation  rec {
   version = "0.9.3";
 
   src = fetchurl {
-    url = "http://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz";
+    url = "https://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz";
     sha256 = "1qpyb7355s21sgy6gibkybxpzx4ikha57a8w644lca6qy9mhcwi3";
   };
 
diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix
index 0affe5dc89d4..3aaaae856391 100644
--- a/pkgs/applications/audio/sonata/default.nix
+++ b/pkgs/applications/audio/sonata/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, intltool, wrapGAppsHook
-, python3Packages, gnome3, gtk3, gobjectIntrospection}:
+, python3Packages, gnome3, gtk3, gobject-introspection}:
 
 let
   inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2;
@@ -29,7 +29,7 @@ in buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    gobjectIntrospection gtk3 pygobject3
+    gobject-introspection gtk3 pygobject3
   ];
 
   # The optional tagpy dependency (for editing metadata) is not yet
diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
index 8ed71ce6c390..13560e340626 100644
--- a/pkgs/applications/audio/synthv1/default.nix
+++ b/pkgs/applications/audio/synthv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "synthv1-${version}";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${name}.tar.gz";
-    sha256 = "1r60l286n8y4a4rrlnbc3h7xk4s2pvqykvskls89prxg0lkpz7kl";
+    sha256 = "0f58k5n2k667q8wsigg7bzl3lfgaf6jdj98r2a5nvyb18v1wpy2c";
   };
 
   buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx";
-    homepage = http://synthv1.sourceforge.net/;
+    homepage = https://synthv1.sourceforge.io/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
diff --git a/pkgs/applications/audio/transcribe/default.nix b/pkgs/applications/audio/transcribe/default.nix
index c6d5ebc1627f..9a76f2d15c73 100644
--- a/pkgs/applications/audio/transcribe/default.nix
+++ b/pkgs/applications/audio/transcribe/default.nix
@@ -1,33 +1,31 @@
-{ stdenv, fetchzip, lib, makeWrapper, alsaLib, atk, cairo, gdk_pixbuf
-, glib, gst-ffmpeg, gst-plugins-bad, gst-plugins-base
-, gst-plugins-good, gst-plugins-ugly, gstreamer, gtk2, libSM, libX11
-, libpng12, pango, zlib }:
+{ stdenv, fetchzip, wrapGAppsHook, alsaLib, atk, cairo, gdk_pixbuf
+, glib, gst_all_1,  gtk3, libSM, libX11, libpng12, pango, zlib }:
 
 stdenv.mkDerivation rec {
   name = "transcribe-${version}";
-  version = "8.40";
+  version = "8.72";
 
   src = if stdenv.hostPlatform.system == "i686-linux" then
     fetchzip {
-      url = "https://www.seventhstring.com/xscribe/downlinux32_old/xscsetup.tar.gz";
-      sha256 = "1ngidmj9zz8bmv754s5xfsjv7v6xr03vck4kigzq4bpc9b1fdhjq";
+      url = "https://www.seventhstring.com/xscribe/downlinux32/xscsetup.tar.gz";
+      sha256 = "1h5l7ry9c9awpxfnd29b0wm973ifrhj17xl5d2fdsclw2swsickb";
     }
   else if stdenv.hostPlatform.system == "x86_64-linux" then
     fetchzip {
-      url = "https://www.seventhstring.com/xscribe/downlinux64_old/xsc64setup.tar.gz";
-      sha256 = "0svzi8svj6zn06gj0hr8mpnhq4416dvb4g5al0gpb1g3paywdaf9";
+      url = "https://www.seventhstring.com/xscribe/downlinux64/xsc64setup.tar.gz";
+      sha256 = "1rpd3ppnx5i5yrnfbjrx7h7dk48kwl99i9lnpa75ap7nxvbiznm0";
     }
   else throw "Platform not supported";
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ wrapGAppsHook ];
 
-  buildInputs = [ gst-plugins-base gst-plugins-good
-    gst-plugins-bad gst-plugins-ugly gst-ffmpeg ];
+  buildInputs = with gst_all_1; [ gst-plugins-base gst-plugins-good
+    gst-plugins-bad gst-plugins-ugly ];
 
   dontPatchELF = true;
 
-  libPath = lib.makeLibraryPath [
-    stdenv.cc.cc glib gtk2 atk pango cairo gdk_pixbuf alsaLib
+  libPath = with gst_all_1; stdenv.lib.makeLibraryPath [
+    stdenv.cc.cc glib gtk3 atk pango cairo gdk_pixbuf alsaLib
     libX11 libSM libpng12 gstreamer gst-plugins-base zlib
   ];
 
@@ -42,13 +40,18 @@ stdenv.mkDerivation rec {
     patchelf \
       --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
       $out/libexec/transcribe
+  '';
 
-    wrapProgram $out/libexec/transcribe \
-      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH_1_0"
       --prefix LD_LIBRARY_PATH : "${libPath}"
+    )
+  '';
 
+  postFixup = ''
     ln -s $out/libexec/transcribe $out/bin/
-    '';
+  '';
 
   meta = with stdenv.lib; {
     description = "Software to help transcribe recorded music";
diff --git a/pkgs/applications/audio/vocal/default.nix b/pkgs/applications/audio/vocal/default.nix
index af8b3ac93949..75f67adf4645 100644
--- a/pkgs/applications/audio/vocal/default.nix
+++ b/pkgs/applications/audio/vocal/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, vala_0_40, gtk3, libxml2, granite, webkitgtk, clutter-gtk
-, clutter-gst, libunity, libnotify, sqlite, gst_all_1, libsoup, json-glib, gnome3, gobjectIntrospection, wrapGAppsHook }:
+, clutter-gst, libunity, libnotify, sqlite, gst_all_1, libsoup, json-glib, gnome3, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "vocal";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
-    gobjectIntrospection
+    gobject-introspection
     libxml2
     ninja
     pkgconfig
diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix
index 7c57b884c8eb..e6041dc9b1c5 100644
--- a/pkgs/applications/audio/x42-plugins/default.nix
+++ b/pkgs/applications/audio/x42-plugins/default.nix
@@ -3,12 +3,12 @@
 , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
 
 stdenv.mkDerivation rec {
-  version = "20180812";
+  version = "20181103";
   name = "x42-plugins-${version}";
 
   src = fetchurl {
     url = "https://gareus.org/misc/x42-plugins/${name}.tar.xz";
-    sha256 = "0gzwzxpa2k2w9c6j3pspwi9slfyd57wb192d6yqcg92pfmnxy9dz";
+    sha256 = "085d6qjj7nl22f0xamqdrnfxwi8zrfwgkwm1svm73bjkdv270438";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
       homepage = https://github.com/x42/x42-plugins;
       maintainers = with maintainers; [ magnetophon ];
       license = licenses.gpl2;
-      platforms = platforms.linux;
+      platforms = [ "i686-linux" "x86_64-linux" ];
     };
 }
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index da7189f9196f..36928a29897b 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, pam, pkgconfig, autoconf, automake, libtool, libxcb
 , glib, libXdmcp, itstool, intltool, libxklavier, libgcrypt, audit, busybox
-, polkit, accountsservice, gtk-doc, gnome3, gobjectIntrospection, vala
+, polkit, accountsservice, gtk-doc, gnome3, gobject-introspection, vala
 , withQt4 ? false, qt4
 , withQt5 ? false, qtbase
 }:
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     automake
     gnome3.yelp-tools
     gnome3.yelp-xsl
-    gobjectIntrospection
+    gobject-introspection
     gtk-doc
     intltool
     itstool
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 00444e1c2c7a..de7e3977ad83 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -13,14 +13,14 @@ let
     sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r";
   };
   betaVersion = {
-    version = "3.3.0.16"; # "Android Studio 3.3 Beta 4"
-    build = "182.5114240";
-    sha256Hash = "12gzwnlvc1w5lywpdckdgwxy2yrhf0m0fvaljdsis2arw0x9qdh2";
+    version = "3.3.0.17"; # "Android Studio 3.3 RC 1"
+    build = "182.5138683";
+    sha256Hash = "0apc566l4gwkwvfgj50d4qxm2gw26rxdlyr8kj3kfcra9a33c2b7";
   };
   latestVersion = { # canary & dev
-    version = "3.4.0.3"; # "Android Studio 3.4 Canary 4"
-    build = "183.5129585";
-    sha256Hash = "10y09sy0h4yp39dwpp8x7kjvw8r7hvk0qllbbaqj76j33xa85793";
+    version = "3.4.0.5"; # "Android Studio 3.4 Canary 6"
+    build = "183.5146016";
+    sha256Hash = "1z2asimpsw15iild7c4aqicph6v327qx3ffjgvl2n8vr5rspsns1";
   };
 in rec {
   # Old alias
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index cbc30588434a..9595bfe4d8ba 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -555,12 +555,12 @@ rec {
 
   spotbugs = buildEclipseUpdateSite rec {
     name = "spotbugs-${version}";
-    version = "3.1.8";
+    version = "3.1.9";
 
     src = fetchzip {
       stripRoot = false;
       url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
-      sha256 = "0086shivxx745f69226f59xcv7l9xliwyr9kxm6zyn753c888js3";
+      sha256 = "0m68jbyaiz0rm4qq3nnwnvgndzv2c6ay6i29kh0p0vdbanggq3xz";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix
index 9e890e172e55..a66b3ba6322d 100644
--- a/pkgs/applications/editors/gnome-builder/default.nix
+++ b/pkgs/applications/editors/gnome-builder/default.nix
@@ -3,16 +3,15 @@
 , desktop-file-utils
 , docbook_xsl
 , docbook_xml_dtd_43
-, fetchpatch
 , fetchurl
 , flatpak
 , glibcLocales
 , gnome3
-, gobjectIntrospection
+, gobject-introspection
 , gspell
 , gtk-doc
 , gtk3
-, gtksourceview3
+, gtksourceview4
 , hicolor-icon-theme
 , json-glib
 , jsonrpc-glib
@@ -31,14 +30,14 @@
 , wrapGAppsHook
 }:
 let
-  version = "3.28.4";
+  version = "3.30.0";
   pname = "gnome-builder";
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ibb74jlyrl5f6rj1b74196zfg2qaf870lxgi76qzpkgwq0iya05";
+    sha256 = "1pshzpjy9rk6gijlm97s316aihykzxrmb07vilp17q5857passak";
   };
 
   nativeBuildInputs = [
@@ -47,7 +46,7 @@ in stdenv.mkDerivation {
     docbook_xsl
     docbook_xml_dtd_43
     glibcLocales # for Meson's gtkdochelper
-    gobjectIntrospection
+    gobject-introspection
     gtk-doc
     hicolor-icon-theme
     meson
@@ -67,7 +66,7 @@ in stdenv.mkDerivation {
     gnome3.vte
     gspell
     gtk3
-    gtksourceview3
+    gtksourceview4
     json-glib
     jsonrpc-glib
     libdazzle
@@ -87,24 +86,6 @@ in stdenv.mkDerivation {
     patchShebangs build-aux/meson/post_install.py
   '';
 
-  patches = [
-    (fetchpatch {
-      name = "absolute-shared-library-path.patch";
-      url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/1011cabc519fd7322e2d695c79bfce3e18ff6200.patch";
-      sha256 = "1g12zziidzrphp527aa8sklfaln4qpjprkz73f0c9w5ph6k252fw";
-    })
-    (fetchpatch {
-      name = "python-libprefix.patch";
-      url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/43494ce83a347f369ed4cfb8dd71d3b93452736b.patch";
-      sha256 = "0kgi3n3g13n1j4xa61ln9xiahcfdc43bxi5mw4yva2d5px445msf";
-    })
-    (fetchpatch {
-      name = "ostree-dependency.patch";
-      url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/8b11773b65c95f464a0de16b91318c1ca73deeae.patch";
-      sha256 = "18r4hd90id0w6r0lzqpw83bcj45nm9jhr46a0ffi1mcayb18mgbk";
-    })
-  ];
-
   mesonFlags = [
     "-Dpython_libprefix=${python3.libPrefix}"
     "-Dwith_docs=true"
diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix
index 055ac050b541..71d0f9450f2d 100644
--- a/pkgs/applications/editors/gnome-latex/default.nix
+++ b/pkgs/applications/editors/gnome-latex/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, wrapGAppsHook
 , tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }:
 let
-  version = "3.30.1";
+  version = "3.30.2";
   pname = "gnome-latex";
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yvkp311ikmiypzj2q6ypvyw5migxiqp8lwhyl3qq6mk6p0x66w8";
+    sha256 = "0fn3vy6w714wy0bz3y11zpdprpwxbv5xfiyyxjwp2nix9mbvv2sm";
   };
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 50922982e0cf..3d905a83c8e7 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -276,12 +276,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2018.2.4"; /* updated by script */
+    version = "2018.3"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0aan23ggs314bvpsldsv9m4pdmnlgdcjac9x6hv1j145a1pp439i"; /* updated by script */
+      sha256 = "0hd44flxqnnxg390mkf4ppjs2nxv0nwdc7a2i65f69bp5h61x783"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand Release";
@@ -289,12 +289,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2018.2.6"; /* updated by script */
+    version = "2018.3"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "02hpbyivji9vnik7p04zrja1rhhl49r0365g0i6sa1rrwd1fhvwf"; /* updated by script */
+      sha256 = "01ccz5ksbv8xh8mnk3zxqpia8zgayy8bcgmbwqibrykz47y6r7yy"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA Release";
@@ -302,12 +302,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2018.2.6"; /* updated by script */
+    version = "2018.3"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
-      sha256 = "0x0ylcbj8spvzmwxrw3p4c64ad27iz58lwj4yb8a6vwh6p22gflk"; /* updated by script */
+      sha256 = "16z0pqmxjn5dl42rbz7mx8gi13xs3220pzkdsdkh1k1ny9caqzvj"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA Release";
@@ -328,12 +328,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2018.2.5"; /* updated by script */
+    version = "2018.3"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0zfnhrkv4y90a3myq13406vzivg234l69x0c5d7vyv6ys7dmq5fm"; /* updated by script */
+      sha256 = "0kgrh3w4lpk7qkp5gss24in1nqahdfllvf97qz6r77zn9n5k1wq7"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm Release";
@@ -341,12 +341,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2018.2.5"; /* updated by script */
+    version = "2018.3"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0yfq25kmzzd15x83zdbrq9j62c32maklzhsk1rzymabyb56blh5c"; /* updated by script */
+      sha256 = "0q4scwnqy0h725g9z5hd145c3n10iaj04z790s4lixg1c63h3y8q"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm Release";
@@ -367,12 +367,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2018.2.4"; /* updated by script */
+    version = "2018.2.5"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "0dk3ch749ai5kyg9q8819ckrqw2jk4f656iqrkkpab9fjqfjylka"; /* updated by script */
+      sha256 = "0b01fnifk5iawyf2zi7r5ffz8dxlh18g2ilrkc5746vmnsp0jxq4"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine 2018.2";
@@ -380,12 +380,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2018.2.6"; /* updated by script */
+    version = "2018.3"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "1snx59b6d0szd1a07agpqxlprhy2mc9jvbnxcck5hfwxl3ic7x5g"; /* updated by script */
+      sha256 = "0msvgdjbdipc4g8j705d1jya2mjmx4wwhb23nch3znh7grryr75s"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm Release";
diff --git a/pkgs/applications/editors/monodevelop/default.nix b/pkgs/applications/editors/monodevelop/default.nix
index cccfddfe7937..c2917aa394f9 100644
--- a/pkgs/applications/editors/monodevelop/default.nix
+++ b/pkgs/applications/editors/monodevelop/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nunit2510 = fetchurl {
-    url = "http://launchpad.net/nunitv2/2.5/2.5.10/+download/NUnit-2.5.10.11092.zip";
+    url = "https://launchpad.net/nunitv2/2.5/2.5.10/+download/NUnit-2.5.10.11092.zip";
     sha256 = "0k5h5bz1p2v3d0w0hpkpbpvdkcszgp8sr9ik498r1bs72w5qlwnc";
   };
 
diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix
index 87ffd3256a88..b9fe90be9fb2 100644
--- a/pkgs/applications/editors/quilter/default.nix
+++ b/pkgs/applications/editors/quilter/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3
 , granite, gtk3, desktop-file-utils, gnome3, gtksourceview, webkitgtk, gtkspell3
-, discount, gobjectIntrospection, wrapGAppsHook }:
+, discount, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "quilter";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     desktop-file-utils
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
index 9a181f3dae70..de9a089ec8c6 100644
--- a/pkgs/applications/editors/rednotebook/default.nix
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonApplication, fetchFromGitHub
-, gdk_pixbuf, glib, gobjectIntrospection, gtk3, gtksourceview, pango, webkitgtk
+, gdk_pixbuf, glib, gobject-introspection, gtk3, gtksourceview, pango, webkitgtk
 , pygobject3, pyyaml
 }:
 
@@ -17,7 +17,7 @@ buildPythonApplication rec {
   # We have not packaged tests.
   doCheck = false;
 
-  nativeBuildInputs = [ gobjectIntrospection ];
+  nativeBuildInputs = [ gobject-introspection ];
 
   propagatedBuildInputs = [
     gdk_pixbuf glib gtk3 gtksourceview pango webkitgtk
diff --git a/pkgs/applications/graphics/deskew/default.nix b/pkgs/applications/graphics/deskew/default.nix
new file mode 100644
index 000000000000..71e2d82ea7ca
--- /dev/null
+++ b/pkgs/applications/graphics/deskew/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromBitbucket, libtiff, fpc }:
+
+stdenv.mkDerivation rec {
+
+  name = "deskew-${version}";
+  version = "1.25";
+
+  src = fetchFromBitbucket {
+    owner = "galfar";
+    repo = "app-deskew";
+    rev = "v${version}";
+    sha256 = "0zjjj66qhgqkmfxl3q7p78dv4xl4ci918pgl4d5259pqdj1bfgc8";
+  };
+
+  nativeBuildInputs = [ fpc ];
+  buildInputs = [ libtiff ];
+
+  buildPhase = ''
+    rm -r Bin # Remove pre-compiled binary
+    mkdir Bin
+    chmod +x compile.sh
+    ./compile.sh
+  '';
+
+  installPhase = ''
+    install -Dt $out/bin Bin/*
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A command line tool for deskewing scanned text documents";
+    homepage = https://bitbucket.org/galfar/app-deskew/overview;
+    license = licenses.mit;
+    maintainers = with maintainers; [ryantm];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index a22f9c7ac1f5..36c7e7e2fb30 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobjectIntrospection, hicolor-icon-theme
+{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection, hicolor-icon-theme
 , gdk_pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }:
 
 let
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     intltool pkgconfig scons swig wrapGAppsHook
-    gobjectIntrospection # for setup hook
+    gobject-introspection # for setup hook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/photoflow/default.nix b/pkgs/applications/graphics/photoflow/default.nix
index 6f3bf69889c5..db41ee0566fe 100644
--- a/pkgs/applications/graphics/photoflow/default.nix
+++ b/pkgs/applications/graphics/photoflow/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gettext, glib, libxml2, pkgconfig, swig, automake, gobjectIntrospection, cmake, ninja, libtiff, libjpeg, fftw, exiv2, lensfun, gtkmm2, libraw, lcms2, libexif, vips, expat, pcre, pugixml }:
+{ stdenv, fetchFromGitHub, gettext, glib, libxml2, pkgconfig, swig, automake, gobject-introspection, cmake, ninja, libtiff, libjpeg, fftw, exiv2, lensfun, gtkmm2, libraw, lcms2, libexif, vips, expat, pcre, pugixml }:
 
 stdenv.mkDerivation {
   name = "photoflow-unstable-2018-08-28";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     pkgconfig
     swig
     automake
-    gobjectIntrospection
+    gobject-introspection
     cmake
     ninja
   ];
diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index 59d6fec45dae..36087aa84bb3 100644
--- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python3Packages
-, file, intltool, gobjectIntrospection, libgudev
+, file, intltool, gobject-introspection, libgudev
 , udisks, glib, gnome3, gst_all_1, libnotify
 , exiv2, exiftool, qt5, gdk_pixbuf
 }:
@@ -23,7 +23,7 @@ python3Packages.buildPythonApplication rec {
       --replace "import problemnotification" "import raphodo.problemnotification"
   '';
 
-  nativeBuildInputs = [ file intltool gobjectIntrospection ];
+  nativeBuildInputs = [ file intltool gobject-introspection ];
 
   buildInputs = [
     libgudev
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index be572ca32f9b..aef7143f7e03 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -1,23 +1,23 @@
 { fetchurl, stdenv, meson, ninja, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite
 , webkitgtk, pkgconfig, gnome3, gst_all_1, libgudev, libraw, glib, json-glib
 , gettext, desktop-file-utils, gdk_pixbuf, librsvg, wrapGAppsHook
-, gobjectIntrospection, itstool, libgdata }:
+, gobject-introspection, itstool, libgdata, python3 }:
 
 # for dependencies see https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling
 
 let
   pname = "shotwell";
-  version = "0.28.2";
+  version = "0.30.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0pa7lb33i4hdnz7hr7x938d48ilrnj47jzb99la79rmm08yyin8n";
+    sha256 = "01hsmig06hjv34yf9y60hv2gml593xfkza4ilq4b22gr8l4v2qip";
   };
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig itstool gettext desktop-file-utils wrapGAppsHook gobjectIntrospection
+    meson ninja vala pkgconfig itstool gettext desktop-file-utils python3 wrapGAppsHook gobject-introspection
   ];
 
   buildInputs = [
@@ -28,8 +28,9 @@ in stdenv.mkDerivation rec {
     gnome3.gcr gnome3.defaultIconTheme libgdata
   ];
 
-  postInstall = ''
-    glib-compile-schemas $out/share/glib-2.0/schemas
+  postPatch = ''
+    chmod +x build-aux/meson/postinstall.py # patchShebangs requires executable file
+    patchShebangs build-aux/meson/postinstall.py
   '';
 
   passthru = {
diff --git a/pkgs/applications/graphics/tesseract/4.x.nix b/pkgs/applications/graphics/tesseract/4.x.nix
index 156c911b9b86..2ebca09b831f 100644
--- a/pkgs/applications/graphics/tesseract/4.x.nix
+++ b/pkgs/applications/graphics/tesseract/4.x.nix
@@ -7,20 +7,20 @@
 
 stdenv.mkDerivation rec {
   name = "tesseract-${version}";
-  version = "4.00.00alpha-git-20170410";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "tesseract-ocr";
     repo = "tesseract";
-    rev = "36a995bdc92eb2dd8bc5a63205708944a3f990a1";
-    sha256 = "0xz3krvap8sdm27v1dyb34lcdmx11wzvxyszpppfsfmjgkvg19bq";
+    rev = version;
+    sha256 = "1b5fi2vibc4kk9b30kkk4ais4bw8fbbv24bzr5709194hb81cav8";
   };
 
   tessdata = fetchFromGitHub {
     owner = "tesseract-ocr";
     repo = "tessdata";
-    rev = "8bf2e7ad08db9ca174ae2b0b3a7498c9f1f71d40";
-    sha256 = "0idwkv4qsmmqhrxcgyhy32yldl3vk054m7dkv4fjswfnalgsx794";
+    rev = version;
+    sha256 = "1chw1ya5zf8aaj2ixr9x013x7vwwwjjmx6f2ag0d6i14lypygy28";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook autoconf-archive ];
diff --git a/pkgs/applications/inferno/default.nix b/pkgs/applications/inferno/default.nix
deleted file mode 100644
index de9be76b6e45..000000000000
--- a/pkgs/applications/inferno/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ fetchhg, stdenv, xorg, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  # Inferno is a rolling release from a mercurial repository. For the verison number
-  # of the package I'm using the mercurial commit number.
-  rev = "785";
-  name = "inferno-${rev}";
-  host = "Linux";
-  objtype = "386";
-
-  src = fetchhg {
-    url    = "https://bitbucket.org/inferno-os/inferno-os";
-    sha256 = "1b428ma9fi5skvfrxp91dr43a62kax89wmx7950ahc1cxyx90k7x";
-  };
-
-  buildInputs = [ makeWrapper ] ++ (with xorg; [ libX11 libXpm libXext xextproto ]);
-
-  infernoWrapper = ./inferno;
-
-  configurePhase = ''
-    sed -e 's@^ROOT=.*$@ROOT='"$out"'/share/inferno@g' \
-        -e 's@^OBJTYPE=.*$@OBJTYPE=${objtype}@g' \
-        -e 's@^SYSHOST=.*$@SYSHOST=${host}@g' \
-        -i mkconfig
-    # Get rid of an annoying warning
-    sed -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' \
-        -i ${host}/${objtype}/include/lib9.h
-  '';
-
-  buildPhase = ''
-    mkdir -p $out/share/inferno
-    cp -r . $out/share/inferno
-    ./makemk.sh
-    export PATH=$PATH:$out/share/inferno/Linux/386/bin
-    mk nuke
-    mk
-  '';
-
-  installPhase = ''
-    # Installs executables in $out/share/inferno/${host}/${objtype}/bin
-    mk install
-    mkdir -p $out/bin
-    # Install start-up script
-    makeWrapper $infernoWrapper $out/bin/inferno \
-      --suffix PATH ':' "$out/share/inferno/Linux/386/bin" \
-      --set INFERNO_ROOT "$out/share/inferno"
-  '';
-
-  hardeningDisable = [ "fortify" ];
-
-  meta = {
-    description = "A compact distributed operating system for building cross-platform distributed systems";
-    homepage = http://inferno-os.org/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ doublec kovirobi ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/inferno/inferno b/pkgs/applications/inferno/inferno
deleted file mode 100755
index 6eb6da8861a5..000000000000
--- a/pkgs/applications/inferno/inferno
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env bash
-
-
-export INFERNO_HOME="$HOME/.local/share/inferno"
-if [ -n "$XDG_DATA_HOME" ]
-  then export INFERNO_HOME="$XDG_DATA_HOME/inferno"
-fi
-
-if [ ! -d $INFERNO_HOME ]; then
-  mkdir -p $INFERNO_HOME
-fi
-
-if [ ! -d $INFERNO_HOME/tmp ]; then
-  mkdir -p $INFERNO_HOME/tmp
-fi
-
-for d in $INFERNO_HOME/{acme,appl,dis,lib,man,module,usr/inferno}; do
-  if [ ! -d $d ]; then
-    mkdir -p $d
-    cp --no-preserve=all -r $INFERNO_ROOT/${d#$INFERNO_HOME/}/* $d/
-    chmod -R +w $d
-  fi
-done
-
-if [ ! -d $INFERNO_HOME/usr/$USER ]; then
-  mkdir -p $INFERNO_HOME/usr/$USER
-  cp -r $INFERNO_ROOT/usr/inferno/* $INFERNO_HOME/usr/$USER/
-  chmod -R +w $INFERNO_HOME/usr/$USER
-fi
-
-exec emu "$@" /dis/sh.dis -c "bind -b -c '#U*$INFERNO_HOME/' /; /dis/sh.dis"
diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix
index dcc797743035..241bb71983a0 100644
--- a/pkgs/applications/kde/dolphin.nix
+++ b/pkgs/applications/kde/dolphin.nix
@@ -4,7 +4,8 @@
   baloo, baloo-widgets, kactivities, kbookmarks, kcmutils,
   kcompletion, kconfig, kcoreaddons, kdelibs4support, kdbusaddons,
   kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications,
-  kparts, ktexteditor, kwindowsystem, phonon, solid
+  kparts, ktexteditor, kwindowsystem, phonon, solid,
+  wayland, qtwayland
 }:
 
 mkDerivation {
@@ -19,6 +20,7 @@ mkDerivation {
     kcoreaddons kdelibs4support kdbusaddons kfilemetadata ki18n kiconthemes
     kinit kio knewstuff knotifications kparts ktexteditor kwindowsystem
     phonon solid
+    wayland qtwayland
   ];
   outputs = [ "out" "dev" ];
   # We need the RPATH for linking, because the `libkdeinit5_dolphin.so` links
diff --git a/pkgs/applications/misc/aminal/default.nix b/pkgs/applications/misc/aminal/default.nix
new file mode 100644
index 000000000000..ebf78be7a08b
--- /dev/null
+++ b/pkgs/applications/misc/aminal/default.nix
@@ -0,0 +1,75 @@
+{ buildGoPackage
+, Carbon
+, Cocoa
+, Kernel
+, cf-private
+, fetchFromGitHub
+, lib
+, mesa_glu
+, stdenv
+, xorg
+}:
+
+buildGoPackage rec {
+  name = "aminal-${version}";
+  version = "0.7.4";
+
+  goPackagePath = "github.com/liamg/aminal";
+
+  buildInputs =
+    lib.optionals stdenv.isLinux [
+      mesa_glu
+      xorg.libX11
+      xorg.libXcursor
+      xorg.libXi
+      xorg.libXinerama
+      xorg.libXrandr
+      xorg.libXxf86vm
+    ] ++ lib.optionals stdenv.isDarwin [
+      Carbon
+      Cocoa
+      Kernel
+      cf-private  /* Needed for NSDefaultRunLoopMode */
+    ];
+
+  src = fetchFromGitHub {
+    owner = "liamg";
+    repo = "aminal";
+    rev = "v${version}";
+    sha256 = "0wnzxjlv98pi3gy4hp3d19pwpa4kf1h5rqy03s9bcqdbpb1v1b7v";
+  };
+
+  preBuild = ''
+    buildFlagsArray=("-ldflags=-X ${goPackagePath}/version.Version=${version}")
+  '';
+
+  meta = with lib; {
+    description = "Golang terminal emulator from scratch";
+    longDescription = ''
+      Aminal is a modern terminal emulator for Mac/Linux implemented in Golang
+      and utilising OpenGL.
+
+      The project is experimental at the moment, so you probably won't want to
+      rely on Aminal as your main terminal for a while.
+
+      Features:
+      - Unicode support
+      - OpenGL rendering
+      - Customisation options
+      - True colour support
+      - Support for common ANSI escape sequences a la xterm
+      - Scrollback buffer
+      - Clipboard access
+      - Clickable URLs
+      - Multi platform support (Windows coming soon...)
+      - Sixel support
+      - Hints/overlays
+      - Built-in patched fonts for powerline
+      - Retina display support
+    '';
+    homepage = https://github.com/liamg/aminal;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ kalbasit ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/applications/misc/autospotting/default.nix b/pkgs/applications/misc/autospotting/default.nix
new file mode 100644
index 000000000000..2f38307ca1e5
--- /dev/null
+++ b/pkgs/applications/misc/autospotting/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "autospotting-${version}";
+  version = "unstable-2018-11-17";
+  goPackagePath = "github.com/AutoSpotting/AutoSpotting";
+
+  src = fetchFromGitHub {
+    owner = "AutoSpotting";
+    repo = "AutoSpotting";
+    rev = "122ab8f292a2f718dd85e79ec22acd455122907e";
+    sha256 = "0p48lgig9kblxvgq1kggczkn4qdbx6ciq9c8x0179i80vl4jf7v6";
+  };
+
+  goDeps = ./deps.nix;
+
+  # patching path where repository used to exist
+  postPatch = ''
+    sed -i "s+github.com/cristim/autospotting/core+github.com/AutoSpotting/AutoSpotting/core+" autospotting.go
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/AutoSpotting/AutoSpotting;
+    description = "Automatically convert your existing AutoScaling groups to up to 90% cheaper spot instances with minimal configuration changes";
+    license = licenses.free;
+    maintainers = [ maintainers.costrouc ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/applications/misc/autospotting/deps.nix b/pkgs/applications/misc/autospotting/deps.nix
new file mode 100644
index 000000000000..ea744ed6648f
--- /dev/null
+++ b/pkgs/applications/misc/autospotting/deps.nix
@@ -0,0 +1,75 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/aws/aws-lambda-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-lambda-go";
+      rev =  "2d482ef09017ae953b1e8d5a6ddac5b696663a3c";
+      sha256 = "06v2yfvn4sn116lds0526a8mfrsng4vafrdjf1dhpalqarrbdvmz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev =  "9333060a8d957db41bff1c80603a802aa674fad8";
+      sha256 = "0fnypw6zm6k70fzhm5a8g69ag64rxbrrpdk7l3rkfqd99slyg5kz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/cristim/ec2-instances-info";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cristim/ec2-instances-info";
+      rev =  "73c042a5558cd6d8b61fb82502d6f7aec334e9ed";
+      sha256 = "1xajrkxqqz5wlbi9w2wdhnk115rbmqxyga29f8v9psq8hzwgi0rg";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "d8f796af33cc11cb798c1aaeb27a4ebc5099927d";
+      sha256 = "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-ini/ini";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-ini/ini";
+      rev =  "5cf292cae48347c2490ac1a58fe36735fb78df7e";
+      sha256 = "0xbnw1nd22q6k863n5gs0nxld15w0p8qxbhfky85akcb5rk1vwi9";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jmespath/go-jmespath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jmespath/go-jmespath";
+      rev =  "0b12d6b5";
+      sha256 = "1vv6hph8j6xgv7gwl9vvhlsaaqsm22sxxqmgmldi4v11783pc1ld";
+    };
+  }
+  {
+    goPackagePath  = "github.com/namsral/flag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/namsral/flag";
+      rev =  "67f268f20922975c067ed799e4be6bacf152208c";
+      sha256 = "1lmxq3z276zrsggpfq9b7yklzzxdyib49zr8sznb1lcqlvxqsr47";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "645ef00459ed84a119197bfb8d8205042c6df63d";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index 54392b03bfbf..998074e8aa0f 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, automake, autoconf, libtool,
   pkgconfig, file, intltool, libxml2, json-glib , sqlite, itstool,
-  librsvg, vala, gnome3, wrapGAppsHook, gobjectIntrospection
+  librsvg, vala, gnome3, wrapGAppsHook, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     gnome3.yelp-tools
     wrapGAppsHook
     # For setup hook
-    gobjectIntrospection
+    gobject-introspection
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gImageReader/default.nix b/pkgs/applications/misc/gImageReader/default.nix
index 18998f1fe095..75783805fa3b 100644
--- a/pkgs/applications/misc/gImageReader/default.nix
+++ b/pkgs/applications/misc/gImageReader/default.nix
@@ -6,7 +6,7 @@
 
 # Gtk deps
 # upstream gImagereader supports Qt too
-, gtk3, gobjectIntrospection, wrapGAppsHook
+, gtk3, gobject-introspection, wrapGAppsHook
 , gnome3, gtkspell3, gtkspellmm, cairomm
 }:
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
     # Gtk specific
     wrapGAppsHook
-    gobjectIntrospection
+    gobject-introspection
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gnome-recipes/default.nix b/pkgs/applications/misc/gnome-recipes/default.nix
new file mode 100644
index 000000000000..154af4efc9b7
--- /dev/null
+++ b/pkgs/applications/misc/gnome-recipes/default.nix
@@ -0,0 +1,79 @@
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gnome3
+, desktop-file-utils
+, gettext
+, itstool
+, python3
+, wrapGAppsHook
+, gtk3
+, glib
+, libsoup
+, gnome-online-accounts
+, rest
+, json-glib
+, gnome-autoar
+, gspell
+, libcanberra }:
+
+let
+  pname = "gnome-recipes";
+  version = "2.0.2";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "1yymii3yf823d9x28fbhqdqm1wa30s40j94x0am9fjj0nzyd5s8v";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    desktop-file-utils
+    gettext
+    itstool
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    libsoup
+    gnome-online-accounts
+    rest
+    json-glib
+    gnome-autoar
+    gspell
+    libcanberra
+  ];
+
+  # https://github.com/NixOS/nixpkgs/issues/36468
+  # https://gitlab.gnome.org/GNOME/recipes/issues/76
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+
+  postPatch = ''
+    chmod +x src/list_to_c.py
+    patchShebangs src/list_to_c.py
+    patchShebangs meson_post_install.py
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Recipe management application for GNOME";
+    homepage = https://wiki.gnome.org/Apps/Recipes;
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/gnome-usage/default.nix b/pkgs/applications/misc/gnome-usage/default.nix
index 0f7a89b3c525..f5420a0c9449 100644
--- a/pkgs/applications/misc/gnome-usage/default.nix
+++ b/pkgs/applications/misc/gnome-usage/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "gnome-usage";
-  version = "3.28.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0130bwinpkz307nalw6ndi5mk38k5g6jna4gbw2916d54df6a4nq";
+    sha256 = "0f1vccw916az8hzsqmx6f57jvl68s3sbd3qk4rpwn42ks1v7nmsh";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig vala gettext libxml2 desktop-file-utils wrapGAppsHook ];
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 413679afd219..920bec56a9bc 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gnome3,
-  pango, gobjectIntrospection, wrapGAppsHook,
+  pango, gobject-introspection, wrapGAppsHook,
 # Optional packages:
  enableOSM ? true, osm-gps-map,
  enableGraphviz ? true, graphviz,
@@ -13,7 +13,7 @@ in buildPythonApplication rec {
   name = "gramps-${version}";
 
   nativeBuildInputs = [ wrapGAppsHook ];
-  buildInputs = [ intltool gtk3 gobjectIntrospection pango gnome3.gexiv2 ] 
+  buildInputs = [ intltool gtk3 gobject-introspection pango gnome3.gexiv2 ] 
     # Map support
     ++ stdenv.lib.optional enableOSM osm-gps-map
     # Graphviz support
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix
index 52105f49c560..0541468345e9 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/misc/guake/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python3, gettext, gobjectIntrospection, wrapGAppsHook, glibcLocales
+{ stdenv, fetchFromGitHub, python3, gettext, gobject-introspection, wrapGAppsHook, glibcLocales
 , gtk3, keybinder3, libnotify, libutempter, vte }:
 
 let
@@ -14,7 +14,7 @@ in python3.pkgs.buildPythonApplication rec {
     sha256 = "1j38z968ha8ij6wrgbwvr8ad930nvhybm9g7pf4s4zv6d3vln0vm";
   };
 
-  nativeBuildInputs = [ gettext gobjectIntrospection wrapGAppsHook python3.pkgs.pip glibcLocales ];
+  nativeBuildInputs = [ gettext gobject-introspection wrapGAppsHook python3.pkgs.pip glibcLocales ];
 
   buildInputs = [ gtk3 keybinder3 libnotify python3 vte ];
 
diff --git a/pkgs/applications/misc/gxneur/default.nix b/pkgs/applications/misc/gxneur/default.nix
index 9def56aa98c1..7d19a9cb1108 100644
--- a/pkgs/applications/misc/gxneur/default.nix
+++ b/pkgs/applications/misc/gxneur/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
     sha256 = "0avmhdcj0hpr55fc0iih8fjykmdhn34c8mwdnqvl8jh4nhxxchxr";
   };
 
+  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+
   nativeBuildInputs = [ pkgconfig intltool ];
   buildInputs = [
     xorg.libX11 glib gtk2 xorg.libXpm xorg.libXt xorg.libXext xneur
diff --git a/pkgs/applications/misc/kupfer/default.nix b/pkgs/applications/misc/kupfer/default.nix
index 0b07767d7603..33a2cf932095 100644
--- a/pkgs/applications/misc/kupfer/default.nix
+++ b/pkgs/applications/misc/kupfer/default.nix
@@ -2,7 +2,7 @@
 , fetchurl
 , intltool
 , python3Packages
-, gobjectIntrospection
+, gobject-introspection
 , gtk3
 , libwnck3
 , keybinder3
@@ -25,7 +25,7 @@ buildPythonApplication rec {
   nativeBuildInputs = [
     wrapGAppsHook intltool
     # For setup hook
-    gobjectIntrospection wafHook
+    gobject-introspection wafHook
   ];
   buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ];
   propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index 372adef4375c..f32509686c09 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://repo.or.cz/w/llpp.git;
+    homepage = https://repo.or.cz/w/llpp.git;
     description = "A MuPDF based PDF pager written in OCaml";
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/applications/misc/mako/default.nix b/pkgs/applications/misc/mako/default.nix
index 3950e4945cf1..3d8ed3627f2a 100644
--- a/pkgs/applications/misc/mako/default.nix
+++ b/pkgs/applications/misc/mako/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "mako-${version}";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = "mako";
     rev = "v${version}";
-    sha256 = "18krsyp9g6f689024dn1mq8dyj4yg8c3kcy5s88q1gm8py6c4493";
+    sha256 = "112b7s5bkvwlgsm2kng2vh8mn6wr3a6c7n1arl9adxlghdym449h";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index 051e7139a23d..0e60c2bfa16e 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "nnn-${version}";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "nnn";
     rev = "v${version}";
-    sha256 = "16c6fimr1ayb2x3mvli70x2va3nz106jdfyqn53bhss7zjqvszxl";
+    sha256 = "1vkrhsdwgacln335rjywdf7nj7fg1x55szmm8xrvwda8y2qjqhc4";
   };
 
   configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index 09c49135ca1c..7ad834f81729 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, vala_0_40, pkgconfig, meson, ninja, python3, granite
-, gtk3, gnome3, gtksourceview, json-glib, gobjectIntrospection, wrapGAppsHook }:
+, gtk3, gnome3, gtksourceview, json-glib, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "notejot";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index 78105ea535d6..dbd79ba3e1b3 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -7,7 +7,7 @@
 , glib
 , glibcLocales
 , gnome3
-, gobjectIntrospection
+, gobject-introspection
 , gsettings-desktop-schemas
 , gtk3
 , hunspell
@@ -88,7 +88,7 @@ in python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = [
     glibcLocales
-    gobjectIntrospection # populate GI_TYPELIB_PATH
+    gobject-introspection # populate GI_TYPELIB_PATH
     intltool
     pkgconfig
   ];
diff --git a/pkgs/applications/misc/oneko/default.nix b/pkgs/applications/misc/oneko/default.nix
index 76df2a264e26..b87f11d7b05d 100644
--- a/pkgs/applications/misc/oneko/default.nix
+++ b/pkgs/applications/misc/oneko/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xorg, xlibsWrapper }:
+{ stdenv, fetchurl, imake, gccmakedep, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
   version_name = "1.2.sakura.5";
@@ -8,14 +8,11 @@ stdenv.mkDerivation rec {
     url = "http://www.daidouji.com/oneko/distfiles/oneko-${version_name}.tar.gz";
     sha256 = "2c2e05f1241e9b76f54475b5577cd4fb6670de058218d04a741a04ebd4a2b22f";
   };
-  buildInputs = [ xorg.imake xorg.gccmakedep xlibsWrapper ];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ xlibsWrapper ];
 
-  configurePhase = "xmkmf";
-
-  installPhase = ''
-    make install BINDIR=$out/bin
-    make install.man MANPATH=$out/share/man
-  '';
+  makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
+  installTargets = "install install.man";
 
   meta = with stdenv.lib; {
     description = "Creates a cute cat chasing around your mouse cursor";
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index 0dfc4b2bc58e..f52215fa4a26 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -1,15 +1,15 @@
 { stdenv, pkgconfig, fetchurl, buildPythonApplication
-, autoreconfHook, wrapGAppsHook, gobjectIntrospection
+, autoreconfHook, wrapGAppsHook, gobject-introspection
 , intltool, yelp-tools, itstool, libxmlxx3
 , python, pygobject3, gtk3, gnome3, substituteAll
 , at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg
-, xkbcomp, gsettings-desktop-schemas
+, xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas
 , speechd, brltty, setproctitle, gst_all_1, gst-python
 }:
 
 let
   pname = "orca";
-  version = "3.28.2";
+  version = "3.30.1";
 in buildPythonApplication rec {
   name = "${pname}-${version}";
 
@@ -17,19 +17,22 @@ in buildPythonApplication rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "08rh6ji680g5nrw2n7jrxrw7nwg04sj52jxffcfasgss2f51d38q";
+    sha256 = "1b9s69frjmghjm1p9a4rrvknl9m0qlwr7mr4lsxkvjnblhsnw0g7";
   };
 
   patches = [
     (substituteAll {
       src = ./fix-paths.patch;
+      cat = "${coreutils}/bin/cat";
+      lsof = "${lsof}/bin/lsof";
+      pgrep = "${procps}/bin/pgrep";
       xkbcomp = "${xkbcomp}/bin/xkbcomp";
     })
   ];
 
   nativeBuildInputs = [
     autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
-    intltool yelp-tools itstool gobjectIntrospection
+    intltool yelp-tools itstool gobject-introspection
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/orca/fix-paths.patch b/pkgs/applications/misc/orca/fix-paths.patch
index d3e77773f28f..ffb56dbe239c 100644
--- a/pkgs/applications/misc/orca/fix-paths.patch
+++ b/pkgs/applications/misc/orca/fix-paths.patch
@@ -1,3 +1,32 @@
+--- a/src/orca/debug.py
++++ b/src/orca/debug.py
+@@ -474,7 +474,7 @@
+     return traceit
+ 
+ def getOpenFDCount(pid):
+-    procs = subprocess.check_output([ 'lsof', '-w', '-Ff', '-p', str(pid)])
++    procs = subprocess.check_output([ '@lsof@', '-w', '-Ff', '-p', str(pid)])
+     procs = procs.decode('UTF-8').split('\n')
+     files = list(filter(lambda s: s and s[0] == 'f' and s[1:].isdigit(), procs))
+ 
+@@ -482,7 +482,7 @@
+ 
+ def getCmdline(pid):
+     try:
+-        openFile = os.popen('cat /proc/%s/cmdline' % pid)
++        openFile = os.popen('@cat@ /proc/%s/cmdline' % pid)
+         cmdline = openFile.read()
+         openFile.close()
+     except:
+@@ -492,7 +492,7 @@
+     return cmdline
+ 
+ def pidOf(procName):
+-    openFile = subprocess.Popen('pgrep %s' % procName,
++    openFile = subprocess.Popen('@pgrep@ %s' % procName,
+                                 shell=True,
+                                 stdout=subprocess.PIPE).stdout
+     pids = openFile.read()
 --- a/src/orca/orca.py
 +++ b/src/orca/orca.py
 @@ -239,7 +239,7 @@
@@ -27,3 +56,23 @@
          stdin=subprocess.PIPE, stdout=None, stderr=None)
      p.communicate(_originalXmodmap)
  
+--- a/src/orca/orca_bin.py.in
++++ b/src/orca/orca_bin.py.in
+@@ -59,7 +59,7 @@
+                 name = "[DEAD]"
+ 
+             try:
+-                cmdline = subprocess.getoutput('cat /proc/%s/cmdline' % pid)
++                cmdline = subprocess.getoutput('@cat@ /proc/%s/cmdline' % pid)
+             except:
+                 cmdline = '(exception encountered)'
+             else:
+@@ -192,7 +192,7 @@
+ def otherOrcas():
+     """Returns the pid of any other instances of Orca owned by this user."""
+ 
+-    openFile = subprocess.Popen('pgrep -u %s orca' % os.getuid(),
++    openFile = subprocess.Popen('@pgrep@ -u %s orca' % os.getuid(),
+                                 shell=True,
+                                 stdout=subprocess.PIPE).stdout
+     pids = openFile.read()
diff --git a/pkgs/applications/misc/pdf-quench/default.nix b/pkgs/applications/misc/pdf-quench/default.nix
index 0829c4f91ccc..f604684b19a1 100644
--- a/pkgs/applications/misc/pdf-quench/default.nix
+++ b/pkgs/applications/misc/pdf-quench/default.nix
@@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
   nativeBuildInputs = [ wrapGAppsHook ];
   buildInputs = with pkgs; [
     gtk3
-    gobjectIntrospection
+    gobject-introspection
     goocanvas2
     poppler_gi
   ];
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index adfd9fa7eac4..8b536e49316f 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee
-, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobjectIntrospection }:
+, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake pkgconfig vala
     # For setup hook
-    gobjectIntrospection
+    gobject-introspection
   ];
   buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler
     libpthreadstubs makeWrapper librsvg pcre ];
diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix
index 04d8c2d2ff08..55093b21f950 100644
--- a/pkgs/applications/misc/pinfo/default.nix
+++ b/pkgs/applications/misc/pinfo/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     # homepage needed you to login to download the tarball
-    url = "http://src.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2"
+    url = "https://src.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2"
       + "/fe3d3da50371b1773dfe29bf870dbc5b/pinfo-0.6.10.tar.bz2";
     sha256 = "0p8wyrpz9npjcbx6c973jspm4c3xz4zxx939nngbq49xqah8088j";
   };
diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix
index 46e26666b408..f9291117ed4c 100644
--- a/pkgs/applications/misc/plank/default.nix
+++ b/pkgs/applications/misc/plank/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, vala, atk, cairo, glib, gnome3, gtk3, libwnck3
 , libX11, libXfixes, libXi, pango, intltool, pkgconfig, libxml2
 , bamf, gdk_pixbuf, libdbusmenu-gtk3, file
-, wrapGAppsHook, autoreconfHook, gobjectIntrospection }:
+, wrapGAppsHook, autoreconfHook, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   pname = "plank";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     intltool
     libxml2 # xmllint
     wrapGAppsHook
-    gobjectIntrospection
+    gobject-introspection
     autoreconfHook
   ];
 
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index 2bf4a011e59b..d8512754f6a7 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoconf, automake, gettext, intltool
-, libtool, pkgconfig, wrapGAppsHook, wrapPython, gobjectIntrospection
+, libtool, pkgconfig, wrapGAppsHook, wrapPython, gobject-introspection
 , gtk3, python, pygobject3, hicolor-icon-theme, pyxdg
 
 , withQuartz ? stdenv.isDarwin, ApplicationServices
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gobjectIntrospection
+    gobject-introspection
     gtk3
     python
     hicolor-icon-theme
diff --git a/pkgs/applications/misc/regextester/default.nix b/pkgs/applications/misc/regextester/default.nix
index 6f056292d775..2b902d27a353 100644
--- a/pkgs/applications/misc/regextester/default.nix
+++ b/pkgs/applications/misc/regextester/default.nix
@@ -9,7 +9,7 @@
 , gnome3
 , meson
 , ninja
-, gobjectIntrospection
+, gobject-introspection
 , gsettings-desktop-schemas
 , vala_0_40
 , wrapGAppsHook }:
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     meson
     ninja
     gettext
-    gobjectIntrospection
+    gobject-introspection
     libxml2
     vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
     wrapGAppsHook
diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix
index e0c5946d564f..54c2a68fd597 100644
--- a/pkgs/applications/misc/safeeyes/default.nix
+++ b/pkgs/applications/misc/safeeyes/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, gobjectIntrospection, libappindicator-gtk3, libnotify, gtk3, gnome3, xprintidle-ng, wrapGAppsHook, gdk_pixbuf, shared-mime-info, librsvg
+{ lib, python3Packages, gobject-introspection, libappindicator-gtk3, libnotify, gtk3, gnome3, xprintidle-ng, wrapGAppsHook, gdk_pixbuf, shared-mime-info, librsvg
 }:
 
 let inherit (python3Packages) python buildPythonApplication fetchPypi;
@@ -16,7 +16,7 @@ in buildPythonApplication rec {
 
   buildInputs = [
     gtk3
-    gobjectIntrospection
+    gobject-introspection
     gnome3.defaultIconTheme
     gnome3.adwaita-icon-theme
   ];
diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix
index 94782bdd860f..33df8e8f0a27 100644
--- a/pkgs/applications/misc/sakura/default.nix
+++ b/pkgs/applications/misc/sakura/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "3.6.0";
 
   src = fetchurl {
-    url = "http://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2";
+    url = "https://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2";
     sha256 = "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1";
   };
 
diff --git a/pkgs/applications/misc/sequeler/default.nix b/pkgs/applications/misc/sequeler/default.nix
index 24f4cbfe8eff..2f91a9fa449b 100644
--- a/pkgs/applications/misc/sequeler/default.nix
+++ b/pkgs/applications/misc/sequeler/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub
-, meson, ninja, pkgconfig, vala, gobjectIntrospection, gettext, wrapGAppsHook, python3, desktop-file-utils
+, meson, ninja, pkgconfig, vala, gobject-introspection, gettext, wrapGAppsHook, python3, desktop-file-utils
 , gtk3, glib, granite, libgee, libgda, gtksourceview, libxml2, libsecret }:
 
 
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
     sha256 = "14a0i9y003m4pvdfp4ax7jfxvyzvyfg45zhln44rm08rfngb0f7k";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection gettext wrapGAppsHook python3 desktop-file-utils ];
+  nativeBuildInputs = [ meson ninja pkgconfig vala gobject-introspection gettext wrapGAppsHook python3 desktop-file-utils ];
 
   buildInputs = [ gtk3 glib granite libgee sqlGda gtksourceview libxml2 libsecret ];
 
diff --git a/pkgs/applications/misc/slic3r/prusa3d.nix b/pkgs/applications/misc/slic3r/prusa3d.nix
index cc9133257a0c..251ee4d918b4 100644
--- a/pkgs/applications/misc/slic3r/prusa3d.nix
+++ b/pkgs/applications/misc/slic3r/prusa3d.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages,
+{ stdenv, lib, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages,
   boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU,
   glew, eigen, curl, gtest, nlopt, pcre, xorg }:
 let
@@ -33,7 +33,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "slic3r-prusa-edition-${version}";
-  version = "1.41.1";
+  version = "1.41.2";
 
   enableParallelBuilding = true;
 
@@ -98,6 +98,10 @@ stdenv.mkDerivation rec {
     # seems to be the easiest way.
     sed -i "s|\''${PERL_VENDORARCH}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt
     sed -i "s|\''${PERL_VENDORLIB}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt
+  '' + lib.optionalString (lib.versionOlder "2.5" nlopt.version) ''
+    # Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx
+    # now seems to be integrated into the main lib.
+    sed -i 's|nlopt_cxx|nlopt|g' xs/src/libnest2d/cmake_modules/FindNLopt.cmake
   '';
 
   postInstall = ''
@@ -114,7 +118,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "Slic3r";
-    sha256 = "0068wwsjwmnxql7653vy3labcyslzf17kr8xdr4lg2jplm022hvy";
+    sha256 = "046ircwc0wr586v7106ys557ypslmyq9p4qgi34ads1d6bgxhlyy";
     rev = "version_${version}";
   };
 
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index e26071dd3612..cb64365a944f 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -1,4 +1,4 @@
-{fetchFromGitHub, stdenv, gtk3, pythonPackages, gobjectIntrospection}:
+{fetchFromGitHub, stdenv, gtk3, pythonPackages, gobject-introspection}:
 pythonPackages.buildPythonApplication rec {
   name = "solaar-unstable-${version}";
   version = "2018-02-02";
@@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0zy5vmjzdybnjf0mpp8rny11sc43gmm8172svsm9s51h7x0v83y3";
   };
 
-  propagatedBuildInputs = [pythonPackages.pygobject3 pythonPackages.pyudev gobjectIntrospection gtk3];
+  propagatedBuildInputs = [pythonPackages.pygobject3 pythonPackages.pyudev gobject-introspection gtk3];
   postInstall = ''
     wrapProgram "$out/bin/solaar" \
       --prefix PYTHONPATH : "$PYTHONPATH" \
diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix
index 0da0b83d64ab..ebae6fd7cfed 100644
--- a/pkgs/applications/misc/synapse/default.nix
+++ b/pkgs/applications/misc/synapse/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee
-, keybinder3, json-glib, zeitgeist, vala_0_38, hicolor-icon-theme, gobjectIntrospection
+, keybinder3, json-glib, zeitgeist, vala_0_38, hicolor-icon-theme, gobject-introspection
 }:
 
 let
@@ -15,7 +15,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkgconfig gettext vala_0_38
     # For setup hook
-    gobjectIntrospection
+    gobject-introspection
   ];
   buildInputs = [
     glib libnotify gtk3 libgee keybinder3 json-glib zeitgeist
diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix
index 2fef852ace9f..f32a27b9b78d 100644
--- a/pkgs/applications/misc/terminator/default.nix
+++ b/pkgs/applications/misc/terminator/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python2, keybinder3, intltool, file, gtk3, gobjectIntrospection
+{ stdenv, fetchurl, python2, keybinder3, intltool, file, gtk3, gobject-introspection
 , libnotify, wrapGAppsHook, gnome3
 }:
 
@@ -11,7 +11,7 @@ python2.pkgs.buildPythonApplication rec {
     sha256 = "95f76e3c0253956d19ceab2f8da709a496f1b9cf9b1c5b8d3cd0b6da3cc7be69";
   };
 
-  nativeBuildInputs = [ file intltool wrapGAppsHook gobjectIntrospection ];
+  nativeBuildInputs = [ file intltool wrapGAppsHook gobject-introspection ];
   buildInputs = [ gtk3 gnome3.vte libnotify keybinder3 ];
   propagatedBuildInputs = with python2.pkgs; [ pygobject3 psutil pycairo ];
 
diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix
index d5b927bb536c..4172660182df 100644
--- a/pkgs/applications/misc/tilda/default.nix
+++ b/pkgs/applications/misc/tilda/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pkgconfig
+{ stdenv, fetchzip, pkgconfig
 , autoreconfHook, gettext, expat
-, confuse, vte, gtk
+, libconfuse, vte, gtk
 , makeWrapper }:
 
 stdenv.mkDerivation rec {
@@ -8,13 +8,13 @@ stdenv.mkDerivation rec {
   name = "tilda-${version}";
   version = "1.4.1";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz";
-    sha256 = "0w2hry2bqcqrkik4l100b1a9jlsih6sq8zwhfpl8zzfq20i00lfs";
+    sha256 = "154rsldqjv2m1bddisb930qicb0y35kx7bxq392n2hn68jr2pxkj";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ gettext confuse vte gtk makeWrapper ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ];
+  buildInputs = [ gettext libconfuse vte gtk ];
 
   LD_LIBRARY_PATH = "${expat.out}/lib"; # ugly hack for xgettext to work during build
 
diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix
index d7a7de368776..9043f9c42cab 100644
--- a/pkgs/applications/misc/tootle/default.nix
+++ b/pkgs/applications/misc/tootle/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub
 , meson, ninja, pkgconfig, python3
-, gnome3, vala, gobjectIntrospection, wrapGAppsHook
+, gnome3, vala, gobject-introspection, wrapGAppsHook
 , gtk3, granite
 , json-glib, glib, glib-networking
 }:
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
     sha256 = "1z3wyx316nns6gi7vlvcfmalhvxncmvcmmlgclbv6b6hwl5x2ysi";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig python3 vala gobjectIntrospection wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja pkgconfig python3 vala gobject-introspection wrapGAppsHook ];
   buildInputs = [
     gtk3 granite json-glib glib glib-networking
     gnome3.libgee gnome3.libsoup gnome3.gsettings-desktop-schemas
diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix
index 5b75fbbc08e1..5d96918e42da 100644
--- a/pkgs/applications/misc/udiskie/default.nix
+++ b/pkgs/applications/misc/udiskie/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, asciidoc-full, gettext
-, gobjectIntrospection, gtk3, hicolor-icon-theme, libappindicator-gtk3, libnotify, librsvg
+, gobject-introspection, gtk3, hicolor-icon-theme, libappindicator-gtk3, libnotify, librsvg
 , udisks2, wrapGAppsHook
 , buildPythonApplication
 , docopt
@@ -26,7 +26,7 @@ buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = [
-    gettext gobjectIntrospection gtk3 libnotify docopt
+    gettext gobject-introspection gtk3 libnotify docopt
     pygobject3 pyyaml udisks2 libappindicator-gtk3
   ];
 
diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix
index f20ef722a8c8..7e54f943856a 100644
--- a/pkgs/applications/misc/workrave/default.nix
+++ b/pkgs/applications/misc/workrave/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, wrapGAppsHook
 , autoconf, autoconf-archive, automake, gettext, intltool, libtool, pkgconfig
 , libICE, libSM, libXScrnSaver, libXtst, cheetah
-, gobjectIntrospection, glib, glibmm, gtkmm3, atk, pango, pangomm, cairo
+, gobject-introspection, glib, glibmm, gtkmm3, atk, pango, pangomm, cairo
 , cairomm , dbus, dbus-glib, gdome2, gstreamer, gst-plugins-base
 , gst-plugins-good, libsigcxx }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     libICE libSM libXScrnSaver libXtst cheetah
-    gobjectIntrospection glib glibmm gtkmm3 atk pango pangomm cairo cairomm
+    gobject-introspection glib glibmm gtkmm3 atk pango pangomm cairo cairomm
     dbus dbus-glib gdome2 gstreamer gst-plugins-base gst-plugins-good libsigcxx
   ];
 
diff --git a/pkgs/applications/misc/xcruiser/default.nix b/pkgs/applications/misc/xcruiser/default.nix
index 3a25147971a9..945072ce026e 100644
--- a/pkgs/applications/misc/xcruiser/default.nix
+++ b/pkgs/applications/misc/xcruiser/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gccmakedep, xorg }:
+{ stdenv, fetchurl, gccmakedep, xorg, imake, libXt, libXaw, libXpm, libXext }:
 
 stdenv.mkDerivation {
   name = "xcruiser-0.30";
@@ -8,13 +8,13 @@ stdenv.mkDerivation {
       sha256 = "1r8whva38xizqdh7jmn6wcmfmsndc67pkw22wzfzr6rq0vf6hywi";
     };
 
-  buildInputs = with xorg; [ gccmakedep imake libXt libXaw libXpm libXext ];
+  nativeBuildInputs = [ gccmakedep imake ];
+  buildInputs = [ libXt libXaw libXpm libXext ];
 
-  configurePhase = "xmkmf -a";
-
-  preBuild = ''
-    makeFlagsArray=( BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults)
-  '';
+  makeFlags = [
+    "BINDIR=$(out)/bin"
+    "XAPPLOADDIR=$(out)/etc/X11/app-defaults"
+  ];
 
   meta = with stdenv.lib; {
     description = "Filesystem visualization utility";
diff --git a/pkgs/applications/misc/xmove/default.nix b/pkgs/applications/misc/xmove/default.nix
deleted file mode 100644
index e461a2c8816a..000000000000
--- a/pkgs/applications/misc/xmove/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{stdenv, fetchurl, libX11, libXi, imake, xauth, libXau}:
-stdenv.mkDerivation {
-  name = "xmove-2.0b2";
-
-  src = fetchurl {
-    url = mirror://debian/pool/main/x/xmove/xmove_2.0beta2.orig.tar.gz;
-    sha256 = "0q310k3bi39vdk0kqqvsahnb1k6lx9hlx80iyxnkq59l6jxnhyhf";
-  };
-
-  buildPhase = "cd xmove; sed -e 's/.*No address for our host.*/{hp = gethostbyname(\"localhost\");};/' -i main.c; cp ../man/man1/xmove.1 xmove.man ; xmkmf; make; cd .. ; cd xmovectrl ; cp ../man/man1/xmovectrl.1 xmovectrl.man; xmkmf; make ; cd ..";
-  installPhase = "cd xmove; make install install.man MANDIR=\${out}/man/man1 BINDIR=\${out}/bin; cd .. ; cd xmovectrl ; make install install.man MANDIR=\${out}/man/man1 BINDIR=\${out}/bin; cd ..";
-
-  buildInputs = [libX11 libXi imake xauth libXau];
-
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.mit;
-  };
-}
diff --git a/pkgs/applications/misc/xxkb/default.nix b/pkgs/applications/misc/xxkb/default.nix
index 90e2723a9067..56638d126c19 100644
--- a/pkgs/applications/misc/xxkb/default.nix
+++ b/pkgs/applications/misc/xxkb/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, libX11, libXt, libXext, libXpm, imake
-, svgSupport ? true, librsvg, glib, gdk_pixbuf, pkgconfig
+{ stdenv, fetchurl, libX11, libXt, libXext, libXpm, imake, gccmakedep
+, svgSupport ? false, librsvg, glib, gdk_pixbuf, pkgconfig
 }:
 
 assert svgSupport ->
@@ -13,20 +13,21 @@ stdenv.mkDerivation rec {
     sha256 = "0hl1i38z9xnbgfjkaz04vv1n8xbgfg88g5z8fyzyb2hxv2z37anf";
   };
 
+  nativeBuildInputs = [ imake gccmakedep ];
   buildInputs = [
-    imake
     libX11 libXt libXext libXpm
   ] ++ stdenv.lib.optionals svgSupport [ librsvg glib gdk_pixbuf pkgconfig ];
 
   outputs = [ "out" "man" ];
 
-  configurePhase = ''
-    xmkmf ${stdenv.lib.optionalString svgSupport "-DWITH_SVG_SUPPORT"}
-  '';
+  imakeFlags = stdenv.lib.optionalString svgSupport "-DWITH_SVG_SUPPORT";
 
-  preBuild = ''
-    makeFlagsArray=( BINDIR=$out/bin PIXMAPDIR=$out/share/xxkb XAPPLOADDIR=$out/etc/X11/app-defaults MANDIR=$man/share/man )
-  '';
+  makeFlags = [
+    "BINDIR=${placeholder "out"}/bin"
+    "PIXMAPDIR=${placeholder "out"}/share/xxkb"
+    "XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
+    "MANDIR=${placeholder "man"}/share/man"
+  ];
 
   installTargets = "install install.man";
 
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index d764a5388535..f167980f0bf2 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -74,11 +74,11 @@ let rpath = lib.makeLibraryPath [
 
 in stdenv.mkDerivation rec {
     pname = "brave";
-    version = "0.56.12";
+    version = "0.56.15";
 
     src = fetchurl {
         url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-        sha256 = "1pvablwchpsm1fdhfp9kr2912yv4812r8prv5fn799qpflzxvyai";
+        sha256 = "1d18fgnxcgl95bhkgfqjyv4p81q6fciqibd3ss4vwh1ljjy1fv76";
     };
 
     dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix
index 91b1099bfb86..3e6b9fce6d09 100644
--- a/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/pkgs/applications/networking/browsers/eolie/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, meson, ninja, pkgconfig
 , python3, gtk3, libsecret, gst_all_1, webkitgtk
 , glib-networking, gtkspell3, hunspell, desktop-file-utils
-, gobjectIntrospection, wrapGAppsHook }:
+, gobject-introspection, wrapGAppsHook }:
 
 python3.pkgs.buildPythonApplication rec {
   name = "eolie-${version}";
@@ -19,7 +19,7 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = [
     desktop-file-utils
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix
index 6097c0e95f0d..cb44e79839b0 100644
--- a/pkgs/applications/networking/browsers/lynx/default.nix
+++ b/pkgs/applications/networking/browsers/lynx/default.nix
@@ -8,14 +8,14 @@ assert sslSupport -> openssl != null;
 
 stdenv.mkDerivation rec {
   name = "lynx-${version}";
-  version = "2.8.9dev.17";
+  version = "2.8.9rel.1";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2"
       "https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2"
     ];
-    sha256 = "1lvfsnrw5mmwrmn1m76q9mx287xwm3h5lg8sv7bcqilc0ywi2f54";
+    sha256 = "15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix
index f7d4f1a69417..c3273562b0ba 100644
--- a/pkgs/applications/networking/browsers/midori/default.nix
+++ b/pkgs/applications/networking/browsers/midori/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk3 webkitgtk librsvg libnotify sqlite gsettings-desktop-schemas pcre gnome3.gcr
     libxcb libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core
-    (libsoup.override {gnomeSupport = true; valaSupport = true;})
+    (libsoup.override {gnomeSupport = true;})
   ] ++ stdenv.lib.optionals zeitgeistSupport [
     zeitgeist
   ];
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 33172b9af701..89dd6775719a 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -13,11 +13,11 @@
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "vivaldi";
-  version = "2.1.1337.47-1";
+  version = "2.1.1337.51-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
-    sha256 = "0i4dd5fgipplfq9jylm23jc9vn0qzf03ph1v85qh252hw5fgnyj2";
+    sha256 = "08x6abyz65vx4ycj8ys8sib9z1adb8ybmnrqjck69b30kbz78rj2";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/cluster/kubetail/default.nix b/pkgs/applications/networking/cluster/kubetail/default.nix
index 38892cdf0396..b2cf486b6123 100644
--- a/pkgs/applications/networking/cluster/kubetail/default.nix
+++ b/pkgs/applications/networking/cluster/kubetail/default.nix
@@ -12,7 +12,10 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    install -Dm755 kubetail $out/bin/kubetail
+    install -Dm755 kubetail                 "$out/bin/kubetail"
+    install -Dm755 completion/kubetail.bash "$out/share/bash-completion/completions/kubetail"
+    install -Dm755 completion/kubetail.fish "$out/share/fish/vendor_completions.d/kubetail.fish"
+    install -Dm755 completion/kubetail.zsh  "$out/share/zsh/site-functions/_kubetail"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix
index c5e4ac9d0ba3..bb0f3229ea5e 100644
--- a/pkgs/applications/networking/cluster/stern/default.nix
+++ b/pkgs/applications/networking/cluster/stern/default.nix
@@ -1,4 +1,6 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, lib, buildPackages, buildGoPackage, fetchFromGitHub }:
+
+let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform; in
 
 buildGoPackage rec {
   name = "stern-${version}";
@@ -15,11 +17,20 @@ buildGoPackage rec {
 
   goDeps = ./deps.nix;
 
-   meta = with lib; {
-      description      = "Multi pod and container log tailing for Kubernetes";
-      homepage         = "https://github.com/wercker/stern";
-      license          = licenses.asl20;
-      maintainers      = with maintainers; [ mbode ];
-      platforms        = platforms.unix;
-    };
+  postInstall =
+    let stern = if isCrossBuild then buildPackages.stern else "$bin"; in
+    ''
+      mkdir -p $bin/share/bash-completion/completions
+      ${stern}/bin/stern --completion bash > $bin/share/bash-completion/completions/stern
+      mkdir -p $bin/share/zsh/site-functions
+      ${stern}/bin/stern --completion zsh > $bin/share/zsh/site-functions/_stern
+    '';
+
+  meta = with lib; {
+    description      = "Multi pod and container log tailing for Kubernetes";
+    homepage         = "https://github.com/wercker/stern";
+    license          = licenses.asl20;
+    maintainers      = with maintainers; [ mbode ];
+    platforms        = platforms.unix;
+  };
 }
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index cb8cae47ab36..ab884a1b97c8 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "terragrunt-${version}";
-  version = "0.17.2";
+  version = "0.17.3";
 
   goPackagePath = "github.com/gruntwork-io/terragrunt";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner  = "gruntwork-io";
     repo   = "terragrunt";
     rev    = "v${version}";
-    sha256 = "069l9ynyl96rfs9zw6w6n1yzjjin27731nj1ajr9jsyc8rhd84wv";
+    sha256 = "1b0fwql9nr00qpvcbsbdymxf1wrgr590gkms7yz3yirb4xfl3gl3";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/networking/corebird/default.nix b/pkgs/applications/networking/corebird/default.nix
index 5dd4cbb52c2a..1ee2c694e0b4 100644
--- a/pkgs/applications/networking/corebird/default.nix
+++ b/pkgs/applications/networking/corebird/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, glib, gtk3, json-glib, sqlite, libsoup, gettext, vala_0_40
-, meson, ninja, pkgconfig, gnome3, gst_all_1, wrapGAppsHook, gobjectIntrospection
+, meson, ninja, pkgconfig, gnome3, gst_all_1, wrapGAppsHook, gobject-introspection
 , glib-networking, python3 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     meson ninja vala_0_40 pkgconfig wrapGAppsHook python3
-    gobjectIntrospection # for setup hook
+    gobject-introspection # for setup hook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/networking/ftp/taxi/default.nix b/pkgs/applications/networking/ftp/taxi/default.nix
index 503b685ce28c..bd17e86d8980 100644
--- a/pkgs/applications/networking/ftp/taxi/default.nix
+++ b/pkgs/applications/networking/ftp/taxi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, vala, pkgconfig, meson, ninja, python3, granite
-, gtk3, gnome3, libsoup, libsecret, gobjectIntrospection, wrapGAppsHook }:
+, gtk3, gnome3, libsoup, libsecret, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "taxi";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index 7fe68163ab96..d437e5346c59 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub
 , vala, cmake, ninja, wrapGAppsHook, pkgconfig, gettext
-, gobjectIntrospection, gnome3, glib, gdk_pixbuf, gtk3, glib-networking
+, gobject-introspection, gnome3, glib, gdk_pixbuf, gtk3, glib-networking
 , xorg, libXdmcp, libxkbcommon
 , libnotify, libsoup
 , libgcrypt
@@ -10,16 +10,17 @@
 , dbus
 , gpgme
 , pcre
+, qrencode
  }:
 
 stdenv.mkDerivation rec {
-  name = "dino-unstable-2018-09-21";
+  name = "dino-unstable-2018-11-27";
 
   src = fetchFromGitHub {
     owner = "dino";
     repo = "dino";
-    rev = "6b7ef800f54e781a618425236ba8d4ed2f2fef9c";
-    sha256 = "1si815b6y06lridj88hws0dgq54w9jfam9sqbrq3cfcvmhc38ysk";
+    rev = "141db9e40a3a81cfa3ad3587dc47f69c541d0fde";
+    sha256 = "006r1x7drlz39jjxlfdnxgrnambw9amhl9jcgf6p1dx71h1x8221";
     fetchSubmodules = true;
   };
 
@@ -32,7 +33,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gobjectIntrospection
+    qrencode
+    gobject-introspection
     glib-networking
     glib
     gnome3.libgee
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 0f9cff4fd8d7..83591722568b 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -1,5 +1,5 @@
 { buildPythonApplication, lib, fetchurl, gettext, wrapGAppsHook
-, python, gtk3, gobjectIntrospection
+, python, gtk3, gobject-introspection
 , nbxmpp, pyasn1, pygobject3, gnome3, dbus-python, pillow
 , xvfb_run, dbus
 , enableJingle ? true, farstream, gstreamer, gst-plugins-base, gst-libav, gst-plugins-ugly
@@ -30,7 +30,7 @@ buildPythonApplication rec {
   '';
 
   buildInputs = [
-    gobjectIntrospection gtk3 gnome3.defaultIconTheme
+    gobject-introspection gtk3 gnome3.defaultIconTheme
   ] ++ optionals enableJingle [ farstream gstreamer gst-plugins-base gst-libav gst-plugins-ugly ]
     ++ optional enableSecrets libsecret
     ++ optional enableSpelling gspell
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
index 8eb086a98070..150c47b9b50b 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchhg, pidgin, glib, json-glib, mercurial, autoreconfHook } :
+{ stdenv, fetchFromGitHub, fetchhg, pidgin, glib, json-glib, autoreconfHook }:
 
 
 let
@@ -53,7 +53,7 @@ in stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [pidgin glib json-glib mercurial];
+  buildInputs = [ pidgin glib json-glib ];
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index d9b86b31bf2b..2f7f3c5836af 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -56,11 +56,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "signal-desktop-${version}";
-  version = "1.18.0";
+  version = "1.18.1";
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "0l5q55k5dp7hbvw3dnjsz39blbsahx6nh9ln4c69752zg473yv4v";
+    sha256 = "1gak6nhv5gk37iv1bfmjx6wf0p1vcln5y29i6fkzmvcrp3j2cmfh";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index f6e3baadb4e8..8c777cd3f7d6 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, pkgconfig
-, gnome3, makeWrapper, intltool, libxslt, gobjectIntrospection, dbus }:
+, gnome3, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
 
 stdenv.mkDerivation rec {
   project = "telepathy-logger";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    makeWrapper pkgconfig intltool libxslt gobjectIntrospection
+    makeWrapper pkgconfig intltool libxslt gobject-introspection
   ];
   buildInputs = [
     dbus-glib libxml2 sqlite telepathy-glib
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
index 68c81d380782..0bc9b3124ee9 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libxslt, glib, libxml2, telepathy-glib, avahi, libsoup
-, libuuid, openssl, pcre, sqlite, pkgconfigUpstream }:
+, libuuid, openssl, pcre, sqlite, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-salut";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ glib libxml2 telepathy-glib avahi libsoup libuuid openssl
     sqlite pcre telepathy-glib.python ];
 
-  nativeBuildInputs = [ libxslt pkgconfigUpstream ];
+  nativeBuildInputs = [ libxslt pkgconfig ];
 
   configureFlags = [ "--disable-avahi-tests" ];
 
diff --git a/pkgs/applications/networking/mailreaders/astroid/default.nix b/pkgs/applications/networking/mailreaders/astroid/default.nix
index 8dd23df7749c..006684ecc102 100644
--- a/pkgs/applications/networking/mailreaders/astroid/default.nix
+++ b/pkgs/applications/networking/mailreaders/astroid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk222x
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk
 , libsass, notmuch, boost, wrapGAppsHook, glib-networking, protobuf, vim_configurable
 , makeWrapper, python3, python3Packages
 , vim ? vim_configurable.override {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ronn pkgconfig wrapGAppsHook ];
 
-  buildInputs = [ gnome3.gtkmm gmime3 webkitgtk222x libsass gnome3.libpeas
+  buildInputs = [ gnome3.gtkmm gmime3 webkitgtk libsass gnome3.libpeas
                   python3 python3Packages.pygobject3
                   notmuch boost gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme
                   glib-networking protobuf ] ++ (if vim == null then [] else [ vim ]);
diff --git a/pkgs/applications/networking/mailreaders/balsa/default.nix b/pkgs/applications/networking/mailreaders/balsa/default.nix
index 571a48951477..410175e1c62c 100644
--- a/pkgs/applications/networking/mailreaders/balsa/default.nix
+++ b/pkgs/applications/networking/mailreaders/balsa/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, gtk3, gmime, gnutls,
   webkitgtk, libesmtp, openssl, libnotify, enchant, gpgme,
-  libcanberra-gtk3, libsecret, gtksourceview, gobjectIntrospection,
+  libcanberra-gtk3, libsecret, gtksourceview, gobject-introspection,
   hicolor-icon-theme, wrapGAppsHook
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkgconfig
     intltool
-    gobjectIntrospection
+    gobject-introspection
     hicolor-icon-theme
     wrapGAppsHook
   ];
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index f2c097a43752..cb0b8c8f5b79 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
   };
 
   patches = optional smimeSupport (fetchpatch {
-    url    = "https://sources.debian.net/src/mutt/1.7.2-1/debian/patches/misc/smime.rc.patch";
-    sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
+    url = "https://salsa.debian.org/mutt-team/mutt/raw/debian/1.10.1-2/debian/patches/misc/smime.rc.patch";
+    sha256 = "1rl27qqwl4nw321ll5jcvfmkmz4fkvcsh5vihjcrhzzyf6vz8wmj";
   });
 
   buildInputs =
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index f082c241a64c..a8c322b42b83 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
 , ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
-, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mime-types }:
+, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap
+}:
 
 let
   muttWrapper = writeScript "mutt" ''
@@ -28,7 +29,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     cyrus_sasl gss gpgme kerberos libidn ncurses
     notmuch openssl perl lmdb
-    mime-types
+    mailcap
   ];
 
   nativeBuildInputs = [
@@ -47,10 +48,11 @@ in stdenv.mkDerivation rec {
         --replace http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd ${docbook_xml_dtd_42}/xml/dtd/docbook/docbookx.dtd
     done
 
+
     # allow neomutt to map attachments to their proper mime.types if specified wrongly
     # and use a far more comprehensive list than the one shipped with neomutt
     substituteInPlace sendlib.c \
-      --replace /etc/mime.types ${mime-types}/etc/mime.types
+      --replace /etc/mime.types ${mailcap}/etc/mime.types
 
     # The string conversion tests all fail with the first version of neomutt
     # that has tests (20180223) as well as 20180716 so we disable them for now.
diff --git a/pkgs/applications/networking/mailreaders/realpine/default.nix b/pkgs/applications/networking/mailreaders/realpine/default.nix
index 713f585d283c..f53c5d61050a 100644
--- a/pkgs/applications/networking/mailreaders/realpine/default.nix
+++ b/pkgs/applications/networking/mailreaders/realpine/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.asl20;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
-    homepage = http://re-alpine.sf.net/;
-    downloadPage = "http://sourceforge.net/projects/re-alpine/files/";
+    homepage = https://sourceforge.net/projects/re-alpine/;
+    downloadPage = "https://sourceforge.net/projects/re-alpine/files/";
   };
 }
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index 6e87735a9f65..7f7b03f71d2d 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, python3Packages, wrapGAppsHook
 , glib, libxml2, libxslt, sqlite, libsoup , webkitgtk, json-glib, gst_all_1
 , libnotify, gtk3, gsettings-desktop-schemas, libpeas, dconf, librsvg
-, gobjectIntrospection, glib-networking, hicolor-icon-theme
+, gobject-introspection, glib-networking, hicolor-icon-theme
 }:
 
 let
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     glib gtk3 webkitgtk libxml2 libxslt sqlite libsoup gsettings-desktop-schemas
-    libpeas gsettings-desktop-schemas json-glib dconf gobjectIntrospection
+    libpeas gsettings-desktop-schemas json-glib dconf gobject-introspection
     librsvg glib-networking libnotify hicolor-icon-theme
   ] ++ (with gst_all_1; [
     gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix
index 9f47f8464a13..13d44655df84 100644
--- a/pkgs/applications/networking/p2p/tixati/default.nix
+++ b/pkgs/applications/networking/p2p/tixati/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "tixati-${version}";
-  version = "2.57";
+  version = "2.58";
 
   src = fetchurl {
     url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
-    sha256 = "0z6znh62ry4fmc6c54zq79pk1b5bwkz93bxsfgvxpf6sajpyf9n7";
+    sha256 = "077z5i0grkxkgw2npylv4r897434k2pr03brqx5hjpjw3797r141";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/remote/ssvnc/default.nix b/pkgs/applications/networking/remote/ssvnc/default.nix
index f20bb740615c..99835627f879 100644
--- a/pkgs/applications/networking/remote/ssvnc/default.nix
+++ b/pkgs/applications/networking/remote/ssvnc/default.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ imake zlib jdk libX11 libXt libXmu libXaw libXext libXpm openjpeg openssl ];
 
-  configurePhase = "makeFlags=PREFIX=$out";
+  dontUseImakeConfigure = true;
+
+  makeFlags = "PREFIX=$(out)";
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index 245d673bc5a4..3e6a057c422b 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -5,14 +5,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "6.2.5";
+  version = "6.2.7";
   name = "seafile-client-${version}";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-client";
     rev = "v${version}";
-    sha256 = "1g09gsaqr4swgwnjxz994xgjsv7mlfaypp6r37bbsiy89a7ppzfl";
+    sha256 = "16ikl6vkp9v16608bq2sfg48idn2p7ik3q8n6j866zxkmgdvkpsg";
   };
 
   nativeBuildInputs = [ pkgconfig cmake makeWrapper ];
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 34712a522feb..af01b89dc764 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,15 +2,16 @@
 
 buildGoPackage rec {
   name = "rclone-${version}";
-  version = "1.44";
+  version = "1.45";
 
   goPackagePath = "github.com/ncw/rclone";
+  subPackages = [ "." ];
 
   src = fetchFromGitHub {
     owner = "ncw";
     repo = "rclone";
     rev = "v${version}";
-    sha256 = "0kpx9r4kksscsvia7r79z9h8ghph25ay9dgpqrnp599fq1bqky61";
+    sha256 = "06xg0ibv9pnrnmabh1kblvxx1pk8h5rmkr9mjbymv497sx3zgz26";
   };
 
   outputs = [ "bin" "out" "man" ];
diff --git a/pkgs/applications/networking/syncthing-gtk/default.nix b/pkgs/applications/networking/syncthing-gtk/default.nix
index 9d720bee05e7..389d32d5a7cc 100644
--- a/pkgs/applications/networking/syncthing-gtk/default.nix
+++ b/pkgs/applications/networking/syncthing-gtk/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, libnotify, librsvg, killall
 , gtk3, libappindicator-gtk3, substituteAll, syncthing, wrapGAppsHook
 , gnome3, buildPythonApplication, dateutil, pyinotify, pygobject3
-, bcrypt, gobjectIntrospection }:
+, bcrypt, gobject-introspection }:
 
 buildPythonApplication rec {
   version = "0.9.4";
@@ -17,7 +17,7 @@ buildPythonApplication rec {
   nativeBuildInputs = [
     wrapGAppsHook
     # For setup hook populating GI_TYPELIB_PATH
-    gobjectIntrospection
+    gobject-introspection
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/networking/transporter/default.nix b/pkgs/applications/networking/transporter/default.nix
index 55abd22b605c..c5b329b5f0a0 100644
--- a/pkgs/applications/networking/transporter/default.nix
+++ b/pkgs/applications/networking/transporter/default.nix
@@ -9,7 +9,7 @@
 , gnome3
 , libxml2
 , gettext
-, gobjectIntrospection
+, gobject-introspection
 , appstream-glib
 , desktop-file-utils
 , magic-wormhole
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
     appstream-glib
     desktop-file-utils
     gettext
-    gobjectIntrospection # For setup hook
+    gobject-introspection # For setup hook
     libxml2
     meson
     ninja
diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix
index 6d431a436ada..3dba90f964f5 100644
--- a/pkgs/applications/networking/weather/meteo/default.nix
+++ b/pkgs/applications/networking/weather/meteo/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitLab, vala, python3, pkgconfig, meson, ninja, granite, gtk3
 , gnome3, json-glib, libsoup, clutter, clutter-gtk, libchamplain, webkitgtk
-, libappindicator, desktop-file-utils, appstream, gobjectIntrospection, wrapGAppsHook }:
+, libappindicator, desktop-file-utils, appstream, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "meteo";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     appstream
     desktop-file-utils
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/applications/office/aesop/default.nix b/pkgs/applications/office/aesop/default.nix
index b510fe950a3d..74a56b1f6caf 100644
--- a/pkgs/applications/office/aesop/default.nix
+++ b/pkgs/applications/office/aesop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3, granite, gtk3
-, gnome3, desktop-file-utils, json-glib, libsoup, poppler, gobjectIntrospection, wrapGAppsHook }:
+, gnome3, desktop-file-utils, json-glib, libsoup, poppler, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "aesop";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     desktop-file-utils
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/applications/office/autokey/default.nix b/pkgs/applications/office/autokey/default.nix
index 0a6268f8452f..e4b89ef36100 100644
--- a/pkgs/applications/office/autokey/default.nix
+++ b/pkgs/applications/office/autokey/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, fetchFromGitHub, wrapGAppsHook, gobjectIntrospection
+{ lib, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection
 , gnome3, libappindicator-gtk3, libnotify }:
 
 python3Packages.buildPythonApplication rec {
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
   # Note: no dependencies included for Qt GUI because Qt ui is poorly
   # maintained—see https://github.com/autokey/autokey/issues/51
 
-  buildInputs = [ wrapGAppsHook gobjectIntrospection gnome3.gtksourceview
+  buildInputs = [ wrapGAppsHook gobject-introspection gnome3.gtksourceview
     libappindicator-gtk3 libnotify ];
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix
index 4408af7f45cc..04b2072967ab 100644
--- a/pkgs/applications/office/bookworm/default.nix
+++ b/pkgs/applications/office/bookworm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch, vala_0_40, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, granite, gnome3
-, gobjectIntrospection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
+, gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "bookworm";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     bash
-    gobjectIntrospection
+    gobject-introspection
     libxml2
     meson
     ninja
diff --git a/pkgs/applications/office/gnucash/2.4.nix b/pkgs/applications/office/gnucash/2.4.nix
index 9aa4cc643159..40c91d6488d6 100644
--- a/pkgs/applications/office/gnucash/2.4.nix
+++ b/pkgs/applications/office/gnucash/2.4.nix
@@ -2,6 +2,7 @@
 , libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
 , intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
 , libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar, hicolor-icon-theme
+, pcre
 }:
 
 /* If you experience GConf errors when running GnuCash on NixOS, see
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
     libgnomeprint goffice enchant gettext intltool perl guile slibGuile
     swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
     perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
-    hicolor-icon-theme
+    hicolor-icon-theme pcre
   ];
   propagatedUserEnvPkgs = [ gconf ];
 
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index 683db389fedf..e3c03eef9b92 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -43,6 +43,10 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ dconf ];
 
+  # glib-2.58 deprecrated g_type_class_add_private
+  # Should probably be removed next version bump
+  CXXFLAGS = [ "-Wno-deprecated-declarations" ];
+
   postPatch = ''
     patchShebangs .
   '';
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
index 7061a6323940..4a91840077ce 100644
--- a/pkgs/applications/office/kmymoney/default.nix
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -61,11 +61,12 @@ stdenv.mkDerivation rec {
   '';
 
   doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+  installCheckInputs = [ xvfb_run ];
   installCheckPhase = let
     pluginPath = "${qtbase.bin}/${qtbase.qtPluginPrefix}";
   in lib.optionalString doInstallCheck ''
     QT_PLUGIN_PATH=${lib.escapeShellArg pluginPath} \
-      ${xvfb_run}/bin/xvfb-run -s '-screen 0 1024x768x24' make test \
+      xvfb-run -s '-screen 0 1024x768x24' make test \
       ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now.
   '';
 
diff --git a/pkgs/applications/office/marp/default.nix b/pkgs/applications/office/marp/default.nix
index 6ff0cf1dfd05..cdda46d4837f 100644
--- a/pkgs/applications/office/marp/default.nix
+++ b/pkgs/applications/office/marp/default.nix
@@ -1,24 +1,29 @@
-{ stdenv, fetchurl, atomEnv, libXScrnSaver }:
+{ stdenv, fetchurl, atomEnv, libXScrnSaver, gtk2 }:
 
 stdenv.mkDerivation rec {
   name = "marp-${version}";
-  version = "0.0.13";
+  version = "0.0.14";
 
   src = fetchurl {
     url = "https://github.com/yhatt/marp/releases/download/v${version}/${version}-Marp-linux-x64.tar.gz";
-    sha256 = "1120mbw4mf7v4qfmss3121gkgp5pn31alk9cssxbrmdcsdkaq5ld";
+    sha256 = "0nklzxwdx5llzfwz1hl2jpp2kwz78w4y63h5l00fh6fv6zisw6j4";
   };
-  sourceRoot = ".";
+
+  unpackPhase = ''
+    mkdir {locales,resources}
+    tar --delay-directory-restore -xf $src
+    chmod u+x {locales,resources}
+  '';
 
   installPhase = ''
-      mkdir -p $out/lib/marp $out/bin
-      cp -r ./* $out/lib/marp
-      ln -s $out/lib/marp/Marp $out/bin
+    mkdir -p $out/lib/marp $out/bin
+    cp -r ./* $out/lib/marp
+    ln -s $out/lib/marp/Marp $out/bin
   '';
 
   postFixup = ''
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}:$out/lib/marp" \
+      --set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [ libXScrnSaver gtk2 ]}:$out/lib/marp" \
       $out/bin/Marp
   '';
 
diff --git a/pkgs/applications/office/planner/default.nix b/pkgs/applications/office/planner/default.nix
index 85dfd024d501..7bc02e786e16 100644
--- a/pkgs/applications/office/planner/default.nix
+++ b/pkgs/applications/office/planner/default.nix
@@ -23,6 +23,9 @@ in stdenv.mkDerivation {
     sha256 = "1bhh05kkbnhibldc1fc7kv7bwf8aa1vh4q379syqd3jbas8y521g";
   };
 
+  # planner-popup-button.c:81:2: error: 'g_type_class_add_private' is deprecated [-Werror=deprecated-declarations]
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   nativeBuildInputs = with gnome2; [
     pkgconfig
     intltool
diff --git a/pkgs/applications/office/spice-up/default.nix b/pkgs/applications/office/spice-up/default.nix
index 3141223d7283..a32ad677c257 100644
--- a/pkgs/applications/office/spice-up/default.nix
+++ b/pkgs/applications/office/spice-up/default.nix
@@ -6,7 +6,7 @@
 , gtk3
 , granite
 , gnome3
-, gobjectIntrospection
+, gobject-introspection
 , json-glib
 , cmake
 , ninja
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     ninja
     gettext
     libxml2
-    gobjectIntrospection # For setup hook
+    gobject-introspection # For setup hook
   ];
   buildInputs = [
     gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix
index 0543bb07a111..833cb7fc56a0 100644
--- a/pkgs/applications/office/tryton/default.nix
+++ b/pkgs/applications/office/tryton/default.nix
@@ -2,7 +2,7 @@
 , python2Packages
 , pkgconfig
 , librsvg
-, gobjectIntrospection
+, gobject-introspection
 , atk
 , gtk3
 , gtkspell3
@@ -19,7 +19,7 @@ python2Packages.buildPythonApplication rec {
     inherit pname version;
     sha256 = "43759d22b061a7a392a534d19a045fafd442ce98a0e390ee830127367dcaf4b4";
   };
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection ];
   propagatedBuildInputs = with python2Packages; [
     chardet
     dateutil
diff --git a/pkgs/applications/science/astronomy/xearth/default.nix b/pkgs/applications/science/astronomy/xearth/default.nix
index 5f276a1b3c70..fef4ca1907fd 100644
--- a/pkgs/applications/science/astronomy/xearth/default.nix
+++ b/pkgs/applications/science/astronomy/xearth/default.nix
@@ -1,21 +1,20 @@
-{ stdenv, fetchurl, xorg }:
+{ stdenv, fetchurl, imake, gccmakedep, libXt, libXext }:
+
 stdenv.mkDerivation rec {
   name = "xearth-${version}";
   version = "1.1";
-  
+
   src = fetchurl {
     url = "http://xearth.org/${name}.tar.gz";
     sha256 = "bcb1407cc35b3f6dd3606b2c6072273b6a912cbd9ed1ae22fb2d26694541309c";
   };
 
-  buildInputs = with xorg; [  imake libXt libXext ];
-
-  dontAddPrefix = true;
-  configureScript="xmkmf";
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libXt libXext ];
 
   installFlags=[ "DESTDIR=$(out)/" "BINDIR=bin" "MANDIR=man/man1"];
   installTargets="install install.man";
-  
+
   meta = with stdenv.lib; {
     description = "sets the X root window to an image of the Earth";
     homepage = "http://xplanet.org";
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index e825d1e8454f..9c7de486573a 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "picard-tools-${version}";
-  version = "2.18.14";
+  version = "2.18.17";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0xc5mqifav2j4zbln04q07wjlzpwp3w0y5iv5bkp4v5486cp2ha9";
+    sha256 = "0ks7ymrjfya5h77hp0bqyipzdri0kf97c8wks32nvwkj821687zm";
   };
 
-  buildInputs = [ jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   phases = [ "installPhase" ];
 
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Tools for high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.";
+    description = "Tools for high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF";
     license = licenses.mit;
     homepage = https://broadinstitute.github.io/picard/;
     maintainers = with maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/chemistry/gwyddion/default.nix b/pkgs/applications/science/chemistry/gwyddion/default.nix
index 6ea6be52fce4..92f997900d53 100644
--- a/pkgs/applications/science/chemistry/gwyddion/default.nix
+++ b/pkgs/applications/science/chemistry/gwyddion/default.nix
@@ -6,7 +6,7 @@ let version = "2.48"; in
 stdenv.mkDerivation {
   name = "gwyddion-${version}";
   src = fetchurl {
-    url = "http://sourceforge.net/projects/gwyddion/files/gwyddion/${version}/gwyddion-${version}.tar.xz";
+    url = "mirror://sourceforge/gwyddion/files/gwyddion/${version}/gwyddion-${version}.tar.xz";
     sha256 = "119iw58ac2wn4cas6js8m7r1n4gmmkga6b1y711xzcyjp9hshgwx";
   };
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/electronics/librepcb/default.nix b/pkgs/applications/science/electronics/librepcb/default.nix
index c0831847b720..bc6e5e33ea24 100644
--- a/pkgs/applications/science/electronics/librepcb/default.nix
+++ b/pkgs/applications/science/electronics/librepcb/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "librepcb-${version}";
-  version = "20181031";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "LibrePCB";
     repo = "LibrePCB";
     fetchSubmodules = true;
-    rev = "3cf8dba9fa88e5b392d639c9fdbcf3a44664170a";
-    sha256 = "0kr4mii5w3kj3kqvhgq7zjxjrq44scx8ky0x77gyqmwvwfwk7nmx";
+    rev = "d7458d3b3e126499902e1a66a0ef889f516a7c97";
+    sha256 = "19wh0398fzzpd65nh4mmc4jllkrgcrwxvxdby0gb5wh1sqyaqac4";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix
index aca1f9a35898..ab2b75917b92 100644
--- a/pkgs/applications/science/electronics/tkgate/1.x.nix
+++ b/pkgs/applications/science/electronics/tkgate/1.x.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "1pqywkidfpdbj18i03h97f4cimld4fb3mqfy8jjsxs12kihm18fs";
   };
 
-  buildInputs = [ tcl tk libX11 which yacc flex imake xproto gccmakedep ];
+  nativeBuildInputs = [ which yacc flex imake gccmakedep ];
+  buildInputs = [ tcl tk libX11 xproto ];
+  dontUseImakeConfigure = true;
 
   patchPhase = ''
     sed -i config.h \
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index 29fc94a71dac..28a7e783ff3f 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "z3-${version}";
-  version = "4.8.1";
+  version = "4.8.3";
 
   src = fetchFromGitHub {
     owner  = "Z3Prover";
     repo   = "z3";
     rev    = name;
-    sha256 = "1vr57bwx40sd5riijyrhy70i2wnv9xrdihf6y5zdz56yq88rl48f";
+    sha256 = "0p5gdmhd32x6zwmx7j5cgwh4jyfxa9yapym95nlmyfaqzak92qar";
   };
 
   buildInputs = [ python fixDarwinDylibNames ];
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 2fa8f3e5d7be..5cd6bbf4bdd9 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     sha256 = "0463bff5eea0f3d93fa071f79c18d0993878fd4f2e18ae6cf22c1639d11457ed";
   };
 
+  dontUseImakeConfigure = true;
+
   buildInputs = [
     bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
     pango pcre perl readline texLive xz zlib less texinfo graphviz icu
diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix
index 2e48d334a603..7d1f738641a6 100644
--- a/pkgs/applications/science/math/fricas/default.nix
+++ b/pkgs/applications/science/math/fricas/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url    = "http://sourceforge.net/projects/fricas/files/fricas/${version}/${name}-full.tar.bz2";
+    url    = "mirror://sourceforge/fricas/files/fricas/${version}/${name}-full.tar.bz2";
     sha256 = "156k9az1623y5808j845c56z2nvvdrm48dzg1v0ivpplyl7vp57x";
   };
 
diff --git a/pkgs/applications/science/math/nasc/default.nix b/pkgs/applications/science/math/nasc/default.nix
index 73fa2a5e678c..4afaa5194db8 100644
--- a/pkgs/applications/science/math/nasc/default.nix
+++ b/pkgs/applications/science/math/nasc/default.nix
@@ -8,7 +8,7 @@
 , cmake
 , vala_0_40
 , libqalculate
-, gobjectIntrospection
+, gobject-introspection
 , wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
     vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
     cmake
-    gobjectIntrospection # for setup-hook
+    gobject-introspection # for setup-hook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/science/math/sage/README.md b/pkgs/applications/science/math/sage/README.md
index 46496664f28e..26e91fc63133 100644
--- a/pkgs/applications/science/math/sage/README.md
+++ b/pkgs/applications/science/math/sage/README.md
@@ -2,46 +2,7 @@
 
 Sage is a pretty complex package that depends on many other complex packages and patches some of those. As a result, the sage nix package is also quite complex.
 
-Don't feel discouraged to fix, simplify or improve things though. Here's a quick overview over the functions of the individual files:
-
-- `sage-src.nix`  
-  Downloads the source code and applies patches. This makes sure that all the other files work with the same sage source. If you want to apply a patch to sage or update sage to a new version, this is the place to do it.
-
-- `env-locations.nix`  
-  Creates a bash file that sets a bunch of environment variables telling sage where to find various packages and files. The definitions of those environment variables can be found in the sage source in the `src/env.py` file. This bash file needs to be sourced before sage is started (done in `sage-env.nix` and `sagedoc.nix`).
-
-- `sage-env.nix`  
-  Sets all environment variables sage needs to run. This includes the package locations defined in `env-locations.nix` as well as the location of sage itself and its various subdirectories.
-
-- `sagelib.nix`  
-  Defines the main sage package (without setting the necessary environments or running any tests).
-
-- `sage-with-env.nix`  
-  Wraps sage in the necessary environment.
-
-- `sage.nix`  
-  Runs sages doctests.
-
-- `sage-wrapper.nix`  
-  Optionally tells sage where do find the docs.
-
-- `sagedoc.nix`  
-  Builds and tests the sage html documentation. Can be used for offline documentation viewing as well as the sage `browse_sage_doc` and `search_doc` functions.
-
-- `sagenb.nix`  
-  The (semi deprecated) sage notebook.
-
-- `default.nix`  
-  Introduces necessary overrides, defines new packages and ties everything together (returning the `sage` package).
-
-- `flask-oldsessions.nix`, `flask-openid.nix`, `python-openid.nix`
-  These are python packages that were rejected from the main nixpkgs tree because they appear unmaintained. They are needed for the (semi-deprecated) sage notebook. Since that notebook is still needed to run the sage doctests, these packages are included but not exposed to the rest of nixpkgs.
-
-- `pybrial.nix`  
-  pybrial is a dependency of sage. However, pybrial itself also has sage as a dependency. Because of that circular dependency, pybrial is hidden from the rest of nixpkgs (just as the flask packages and python-openid.
-
-- `openblas-pc.nix`  
-  This creates a `.pc` file to be read by `pkg-config` that allows openblas to take on different roles, like `cblas` or `lapack`.
+Don't feel discouraged to fix, simplify or improve things though. The individual files have comments explaining their purpose. The most importent ones are `default.nix` linking everything together, `sage-src.nix` adding patches and `sagelib.nix` building the actual sage package.
 
 ## The sage build is broken
 
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index cf8515283cd2..46e60a2b81e4 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -1,68 +1,101 @@
-{ nixpkgs
+{ pkgs
 , withDoc ? false
 }:
 
+# Here sage and its dependencies are put together. Some dependencies may be pinned
+# as a last resort. Patching sage for compatibility with newer dependency versions
+# is always preferred, see `sage-src.nix` for that.
+
 let
-  inherit (nixpkgs) fetchpatch fetchurl symlinkJoin callPackage nodePackages;
+  inherit (pkgs) fetchurl symlinkJoin callPackage nodePackages;
 
   # https://trac.sagemath.org/ticket/15980 for tracking of python3 support
-  python = nixpkgs.python2.override {
+  python = pkgs.python2.override {
     packageOverrides = self: super: {
       # python packages that appear unmaintained and were not accepted into the nixpkgs
       # tree because of that. These packages are only dependencies of the more-or-less
       # deprecated sagenb. However sagenb is still a default dependency and the doctests
       # depend on it.
       # See https://github.com/NixOS/nixpkgs/pull/38787 for a discussion.
+      # The dependency on the sage notebook (and therefore these packages) will be
+      # removed in the future:
+      # https://trac.sagemath.org/ticket/25837
       flask-oldsessions = self.callPackage ./flask-oldsessions.nix {};
       flask-openid = self.callPackage ./flask-openid.nix {};
       python-openid = self.callPackage ./python-openid.nix {};
+      sagenb = self.callPackage ./sagenb.nix {
+        mathjax = nodePackages.mathjax;
+      };
 
+      # Package with a cyclic dependency with sage
       pybrial = self.callPackage ./pybrial.nix {};
 
+      # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies
       sagelib = self.callPackage ./sagelib.nix {
         inherit flint ecl arb;
-        inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
-        linbox = nixpkgs.linbox.override { withSage = true; };
-      };
-
-      sagenb = self.callPackage ./sagenb.nix {
-        mathjax = nodePackages.mathjax;
-      };
-
-      sagedoc = self.callPackage ./sagedoc.nix {
-        inherit sage-src;
+        inherit sage-src pynac singular;
+        linbox = pkgs.linbox.override { withSage = true; };
       };
+    };
+  };
 
-      env-locations = self.callPackage ./env-locations.nix {
-        inherit pari_data ecl;
-        inherit singular;
-        three = nodePackages.three;
-        mathjax = nodePackages.mathjax;
-      };
+  jupyter-kernel-definition = {
+    displayName = "SageMath ${sage-src.version}";
+    argv = [
+      "${sage-with-env}/bin/sage" # FIXME which sage
+      "--python"
+      "-m"
+      "sage.repl.ipython_kernel"
+      "-f"
+      "{connection_file}"
+    ];
+    language = "sagemath";
+    # just one 16x16 logo is available
+    logo32 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
+    logo64 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
+  };
 
-      sage-env = self.callPackage ./sage-env.nix {
-        inherit sage-src python rWrapper openblas-cblas-pc ecl singular palp flint pynac pythonEnv;
-        pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
-      };
+  # A bash script setting various environment variables to tell sage where
+  # the files its looking fore are located. Also see `sage-env`.
+  env-locations = callPackage ./env-locations.nix {
+    inherit pari_data ecl;
+    inherit singular;
+    cysignals = python.pkgs.cysignals;
+    three = nodePackages.three;
+    mathjax = nodePackages.mathjax;
+  };
 
-      sage-with-env = self.callPackage ./sage-with-env.nix {
-        inherit pythonEnv;
-        inherit sage-src openblas-blas-pc openblas-cblas-pc openblas-lapack-pc pynac singular;
-        pkg-config = nixpkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
-        three = nodePackages.three;
-      };
+  # The shell file that gets sourced on every sage start. Will also source
+  # the env-locations file.
+  sage-env = callPackage ./sage-env.nix {
+    sagelib = python.pkgs.sagelib;
+    inherit env-locations;
+    inherit python rWrapper ecl singular palp flint pynac pythonEnv;
+    pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
+  };
 
-      sage = self.callPackage ./sage.nix { };
+  # The documentation for sage, building it takes a lot of ram.
+  sagedoc = callPackage ./sagedoc.nix {
+    inherit sage-with-env;
+    inherit python;
+  };
 
-      sage-wrapper = self.callPackage ./sage-wrapper.nix {
-        inherit sage-src withDoc;
-      };
-    };
+  # sagelib with added wrappers and a dependency on sage-tests to make sure thet tests were run.
+  sage-with-env = callPackage ./sage-with-env.nix {
+    inherit pythonEnv;
+    inherit sage-env;
+    inherit pynac singular;
+    pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
+    three = nodePackages.three;
   };
 
-  openblas-blas-pc = callPackage ./openblas-pc.nix { name = "blas"; };
-  openblas-cblas-pc = callPackage ./openblas-pc.nix { name = "cblas"; };
-  openblas-lapack-pc = callPackage ./openblas-pc.nix { name = "lapack"; };
+  # Doesn't actually build anything, just runs sages testsuite. This is a
+  # separate derivation to make it possible to re-run the tests without
+  # rebuilding sagelib (which takes ~30 minutes).
+  # Running the tests should take something in the order of 1h.
+  sage-tests = callPackage ./sage-tests.nix {
+    inherit sage-with-env;
+  };
 
   sage-src = callPackage ./sage-src.nix {};
 
@@ -77,6 +110,7 @@ let
     sympy
     fpylll
     matplotlib
+    tkinter # optional, as a matplotlib backend (use with `%matplotlib tk`)
     scipy
     ipywidgets
     rpy2
@@ -91,10 +125,11 @@ let
   } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible
 
   # needs to be rWrapper, standard "R" doesn't include default packages
-  rWrapper = nixpkgs.rWrapper.override {
+  rWrapper = pkgs.rWrapper.override {
     # https://trac.sagemath.org/ticket/25674
-    R = nixpkgs.R.overrideAttrs (attrs: rec {
+    R = pkgs.R.overrideAttrs (attrs: rec {
       name = "R-3.4.4";
+      doCheck = false;
       src = fetchurl {
         url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
         sha256 = "0dq3jsnwsb5j3fhl0wi3p5ycv8avf8s5j1y4ap3d2mkjmcppvsdk";
@@ -102,44 +137,45 @@ let
     });
   };
 
-  arb = nixpkgs.arb.override { inherit flint; };
+  arb = pkgs.arb.override { inherit flint; };
 
-  singular = nixpkgs.singular.override { inherit flint; };
+  singular = pkgs.singular.override { inherit flint; };
 
   # *not* to confuse with the python package "pynac"
-  pynac = nixpkgs.pynac.override { inherit singular flint; };
+  pynac = pkgs.pynac.override { inherit singular flint; };
 
   # With openblas (64 bit), the tests fail the same way as when sage is build with
   # openblas instead of openblasCompat. Apparently other packages somehow use flints
   # blas when it is available. Alternative would be to override flint to use
   # openblasCompat.
-  flint = nixpkgs.flint.override { withBlas = false; };
+  flint = pkgs.flint.override { withBlas = false; };
 
   # Multiple palp dimensions need to be available and sage expects them all to be
   # in the same folder.
   palp = symlinkJoin {
-    name = "palp-${nixpkgs.palp.version}";
+    name = "palp-${pkgs.palp.version}";
     paths = [
-      (nixpkgs.palp.override { dimensions = 4; doSymlink = false; })
-      (nixpkgs.palp.override { dimensions = 5; doSymlink = false; })
-      (nixpkgs.palp.override { dimensions = 6; doSymlink = true; })
-      (nixpkgs.palp.override { dimensions = 11; doSymlink = false; })
+      (pkgs.palp.override { dimensions = 4; doSymlink = false; })
+      (pkgs.palp.override { dimensions = 5; doSymlink = false; })
+      (pkgs.palp.override { dimensions = 6; doSymlink = true; })
+      (pkgs.palp.override { dimensions = 11; doSymlink = false; })
     ];
   };
 
   # Sage expects those in the same directory.
   pari_data = symlinkJoin {
     name = "pari_data";
-    paths = with nixpkgs; [
+    paths = with pkgs; [
       pari-galdata
       pari-seadata-small
     ];
   };
 
   # https://trac.sagemath.org/ticket/22191
-  ecl = nixpkgs.ecl_16_1_2;
+  ecl = pkgs.ecl_16_1_2;
 in
-  python.pkgs.sage-wrapper // {
-    doc = python.pkgs.sagedoc;
-    lib = python.pkgs.sagelib;
-  }
+# A wrapper around sage that makes sure sage finds its docs (if they were build).
+callPackage ./sage.nix {
+  inherit sage-tests sage-with-env sagedoc jupyter-kernel-definition;
+  inherit withDoc;
+}
diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix
index 098ce3925cf3..9d94e9ca5e34 100644
--- a/pkgs/applications/science/math/sage/env-locations.nix
+++ b/pkgs/applications/science/math/sage/env-locations.nix
@@ -16,6 +16,8 @@
 , cysignals
 }:
 
+# A bash script setting various environment variables to tell sage where
+# the files its looking fore are located. Also see `sage-env`.
 writeTextFile rec {
   name = "sage-env-locations";
   destination = "/${name}";
diff --git a/pkgs/applications/science/math/sage/openblas-pc.nix b/pkgs/applications/science/math/sage/openblas-pc.nix
deleted file mode 100644
index f4669a6557e9..000000000000
--- a/pkgs/applications/science/math/sage/openblas-pc.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ openblasCompat
-, writeTextFile
-, name
-}:
-
-writeTextFile {
-  name = "openblas-${name}-pc-${openblasCompat.version}";
-  destination = "/lib/pkgconfig/${name}.pc";
-  text = ''
-    Name: ${name}
-    Version: ${openblasCompat.version}
-
-    Description: ${name} for SageMath, provided by the OpenBLAS package.
-    Cflags: -I${openblasCompat}/include
-    Libs: -L${openblasCompat}/lib -lopenblas
-  '';
-}
diff --git a/pkgs/applications/science/math/sage/patches/eclib-20180710.patch b/pkgs/applications/science/math/sage/patches/eclib-20180710.patch
deleted file mode 100644
index 986ae42aeb62..000000000000
--- a/pkgs/applications/science/math/sage/patches/eclib-20180710.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/sage/interfaces/mwrank.py b/src/sage/interfaces/mwrank.py
-index 4417b59276..ae57ca2991 100644
---- a/src/sage/interfaces/mwrank.py
-+++ b/src/sage/interfaces/mwrank.py
-@@ -54,8 +54,9 @@ def Mwrank(options="", server=None, server_tmpdir=None):
-         sage: M = Mwrank('-v 0 -l')
-         sage: print(M('0 0 1 -1 0'))
-         Curve [0,0,1,-1,0] :    Rank = 1
--        Generator 1 is [0:-1:1]; height 0.0511114082399688
--        Regulator = 0.0511114082399688
-+        Generator 1 is [0:-1:1]; height 0.051111408239969
-+        Regulator = 0.051111408239969
-+
-     """
-     global instances
-     try:
diff --git a/pkgs/applications/science/math/sage/patches/eclib-regulator-precision.patch b/pkgs/applications/science/math/sage/patches/eclib-regulator-precision.patch
deleted file mode 100644
index a1464b8fe310..000000000000
--- a/pkgs/applications/science/math/sage/patches/eclib-regulator-precision.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-diff --git a/src/sage/libs/eclib/interface.py b/src/sage/libs/eclib/interface.py
-index f77000c478..9d17d412ae 100644
---- a/src/sage/libs/eclib/interface.py
-+++ b/src/sage/libs/eclib/interface.py
-@@ -1014,7 +1014,7 @@ class mwrank_MordellWeil(SageObject):
-             WARNING: saturation at primes p > 2 will not be done;
-             ...
-             Gained index 2
--            New regulator =  93.857300720636393209
-+            New regulator =  93.85730...
-             (False, 2, '[ ]')
-             sage: EQ.points()
-             [[-2, 3, 1], [2707496766203306, 864581029138191, 2969715140223272], [-13422227300, -49322830557, 12167000000]]
-@@ -1025,7 +1025,7 @@ class mwrank_MordellWeil(SageObject):
-             WARNING: saturation at primes p > 3 will not be done;
-             ...
-             Gained index 3
--            New regulator =  10.4285889689595992455
-+            New regulator =  10.42858...
-             (False, 3, '[ ]')
-             sage: EQ.points()
-             [[-2, 3, 1], [-14, 25, 8], [-13422227300, -49322830557, 12167000000]]
-@@ -1036,7 +1036,7 @@ class mwrank_MordellWeil(SageObject):
-             WARNING: saturation at primes p > 5 will not be done;
-             ...
-             Gained index 5
--            New regulator =  0.417143558758383969818
-+            New regulator =  0.41714...
-             (False, 5, '[ ]')
-             sage: EQ.points()
-             [[-2, 3, 1], [-14, 25, 8], [1, -1, 1]]
-@@ -1221,7 +1221,7 @@ class mwrank_MordellWeil(SageObject):
-             WARNING: saturation at primes p > 2 will not be done;
-             ...
-             Gained index 2
--            New regulator =  93.857300720636393209
-+            New regulator =  93.85730...
-             (False, 2, '[ ]')
-             sage: EQ
-             Subgroup of Mordell-Weil group: [[-2:3:1], [2707496766203306:864581029138191:2969715140223272], [-13422227300:-49322830557:12167000000]]
-@@ -1235,7 +1235,7 @@ class mwrank_MordellWeil(SageObject):
-             WARNING: saturation at primes p > 3 will not be done;
-             ...
-             Gained index 3
--            New regulator =  10.4285889689595992455
-+            New regulator =  10.42858...
-             (False, 3, '[ ]')
-             sage: EQ
-             Subgroup of Mordell-Weil group: [[-2:3:1], [-14:25:8], [-13422227300:-49322830557:12167000000]]
-@@ -1249,7 +1249,7 @@ class mwrank_MordellWeil(SageObject):
-             WARNING: saturation at primes p > 5 will not be done;
-             ...
-             Gained index 5
--            New regulator =  0.417143558758383969818
-+            New regulator =  0.41714...
-             (False, 5, '[ ]')
-             sage: EQ
-             Subgroup of Mordell-Weil group: [[-2:3:1], [-14:25:8], [1:-1:1]]
-diff --git a/src/sage/libs/eclib/mwrank.pyx b/src/sage/libs/eclib/mwrank.pyx
-index a4f89e1ca5..f8a22d2f55 100644
---- a/src/sage/libs/eclib/mwrank.pyx
-+++ b/src/sage/libs/eclib/mwrank.pyx
-@@ -1234,9 +1234,9 @@ cdef class _two_descent:
-             sage: D2.saturate()
-             Searching for points (bound = 8)...done:
-               found points which generate a subgroup of rank 3
--              and regulator 0.417143558758383969817119544618093396749810106098479
-+              and regulator 0.41714...
-             Processing points found during 2-descent...done:
--              now regulator = 0.417143558758383969817119544618093396749810106098479
-+              now regulator = 0.41714...
-             No saturation being done
-             sage: D2.getbasis()
-             '[[1:-1:1], [-2:3:1], [-14:25:8]]'
-@@ -1281,9 +1281,9 @@ cdef class _two_descent:
-             sage: D2.saturate()
-             Searching for points (bound = 8)...done:
-               found points which generate a subgroup of rank 3
--              and regulator 0.417143558758383969817119544618093396749810106098479
-+              and regulator 0.41714...
-             Processing points found during 2-descent...done:
--              now regulator = 0.417143558758383969817119544618093396749810106098479
-+              now regulator = 0.41714...
-             No saturation being done
-             sage: D2.getbasis()
-             '[[1:-1:1], [-2:3:1], [-14:25:8]]'
-@@ -1329,9 +1329,9 @@ cdef class _two_descent:
-             sage: D2.saturate()
-             Searching for points (bound = 8)...done:
-               found points which generate a subgroup of rank 3
--              and regulator 0.417143558758383969817119544618093396749810106098479
-+              and regulator 0.41714...
-             Processing points found during 2-descent...done:
--              now regulator = 0.417143558758383969817119544618093396749810106098479
-+              now regulator = 0.41714...
-             No saturation being done
-             sage: D2.getbasis()
-             '[[1:-1:1], [-2:3:1], [-14:25:8]]'
diff --git a/pkgs/applications/science/math/sage/patches/known-padics-bug.patch b/pkgs/applications/science/math/sage/patches/known-padics-bug.patch
deleted file mode 100644
index bdccd73e0ce1..000000000000
--- a/pkgs/applications/science/math/sage/patches/known-padics-bug.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/build/pkgs/openblas/package-version.txt b/build/pkgs/openblas/package-version.txt
-index 3bc45c25d4..7c7c224887 100644
---- a/src/sage/schemes/elliptic_curves/padics.py
-+++ b/src/sage/schemes/elliptic_curves/padics.py
-@@ -292,8 +292,8 @@ def padic_regulator(self, p, prec=20, height=None, check_hypotheses=True):
- 
-         sage: max_prec = 30    # make sure we get past p^2    # long time
-         sage: full = E.padic_regulator(5, max_prec)           # long time
--        sage: for prec in range(1, max_prec):                 # long time
--        ....:     assert E.padic_regulator(5, prec) == full   # long time
-+        sage: for prec in range(1, max_prec):                 # known bug (#25969) # long time
-+        ....:     assert E.padic_regulator(5, prec) == full   # known bug (#25969) # long time
- 
-     A case where the generator belongs to the formal group already
-     (:trac:`3632`)::
diff --git a/pkgs/applications/science/math/sage/patches/matplotlib-normed-deprecated.patch b/pkgs/applications/science/math/sage/patches/matplotlib-normed-deprecated.patch
deleted file mode 100644
index 41747635cacd..000000000000
--- a/pkgs/applications/science/math/sage/patches/matplotlib-normed-deprecated.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/sage/all.py b/src/sage/all.py
-index 14cec431f1..25a35a0522 100644
---- a/src/sage/all.py
-+++ b/src/sage/all.py
-@@ -310,6 +310,7 @@ warnings.filters.remove(('ignore', None, DeprecationWarning, None, 0))
- # Ignore all deprecations from IPython etc.
- warnings.filterwarnings('ignore',
-     module='.*(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic)')
-+warnings.filterwarnings('ignore', "The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.") # matplotlib normed deprecation
- # However, be sure to keep OUR deprecation warnings
- warnings.filterwarnings('default',
-     '[\s\S]*See http://trac.sagemath.org/[0-9]* for details.')
diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix
index 317eb6e16c49..725ca0438670 100644
--- a/pkgs/applications/science/math/sage/sage-env.nix
+++ b/pkgs/applications/science/math/sage/sage-env.nix
@@ -2,7 +2,6 @@
 , lib
 , writeTextFile
 , python
-, sage-src
 , sagelib
 , env-locations
 , gfortran
@@ -37,7 +36,7 @@
 , lcalc
 , rubiks
 , flintqs
-, openblas-cblas-pc
+, openblasCompat
 , flint
 , gmp
 , mpfr
@@ -47,6 +46,10 @@
 , ntl
 }:
 
+# This generates a `sage-env` shell file that will be sourced by sage on startup.
+# It sets up various environment variables, telling sage where to find its
+# dependencies.
+
 let
   runtimepath = (lib.makeBinPath ([
     "@sage-local@"
@@ -96,26 +99,27 @@ writeTextFile rec {
   destination = "/${name}";
   text = ''
     export PKG_CONFIG_PATH='${lib.concatStringsSep ":" (map (pkg: "${pkg}/lib/pkgconfig") [
-        # This is only needed in the src/sage/misc/cython.py test and I'm not sure if there's really a use-case
-        # for it outside of the tests. However since singular and openblas are runtime dependencies anyways
-        # and openblas-cblas-pc is tiny, it doesn't really hurt to include.
+        # This is only needed in the src/sage/misc/cython.py test and I'm not
+        # sure if there's really a usecase for it outside of the tests. However
+        # since singular and openblas are runtime dependencies anyways, it doesn't
+        # really hurt to include.
         singular
-        openblas-cblas-pc
+        openblasCompat
       ])
     }'
-    export SAGE_ROOT='${sage-src}'
+    export SAGE_ROOT='${sagelib.src}'
     export SAGE_LOCAL='@sage-local@'
     export SAGE_SHARE='${sagelib}/share'
     orig_path="$PATH"
     export PATH='${runtimepath}'
 
     # set dependent vars, like JUPYTER_CONFIG_DIR
-    source "${sage-src}/src/bin/sage-env"
+    source "${sagelib.src}/src/bin/sage-env"
     export PATH="${runtimepath}:$orig_path" # sage-env messes with PATH
 
     export SAGE_LOGS="$TMPDIR/sage-logs"
     export SAGE_DOC="''${SAGE_DOC_OVERRIDE:-doc-placeholder}"
-    export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sage-src}/src/doc}"
+    export SAGE_DOC_SRC="''${SAGE_DOC_SRC_OVERRIDE:-${sagelib.src}/src/doc}"
 
     # set locations of dependencies
     . ${env-locations}/sage-env-locations
@@ -154,9 +158,11 @@ writeTextFile rec {
 
     export SAGE_LIB='${sagelib}/${python.sitePackages}'
 
-    export SAGE_EXTCODE='${sage-src}/src/ext'
+    export SAGE_EXTCODE='${sagelib.src}/src/ext'
 
-    # for find_library
+  # for find_library
     export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}:$DYLD_LIBRARY_PATH"
   '';
+} // {
+  lib = sagelib; # equivalent of `passthru`, which `writeTextFile` doesn't support
 }
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 295125eefd1e..5d729d9c5fdd 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -2,6 +2,12 @@
 , fetchFromGitHub
 , fetchpatch
 }:
+
+# This file is responsible for fetching the sage source and adding necessary patches.
+# It does not actually build anything, it just copies the patched sources to $out.
+# This is done because multiple derivations rely on these sources and they should
+# all get the same sources with the same patches applied.
+
 stdenv.mkDerivation rec {
   version = "8.4";
   name = "sage-src-${version}";
@@ -13,6 +19,8 @@ stdenv.mkDerivation rec {
     sha256 = "0gips1hagiz9m7s21bg5as8hrrm2x5k47h1bsq0pc46iplfwmv2d";
   };
 
+  # Patches needed because of particularities of nix or the way this is packaged.
+  # The goal is to upstream all of them and get rid of this list.
   nixPatches = [
     # https://trac.sagemath.org/ticket/25358
     (fetchpatch {
@@ -31,6 +39,7 @@ stdenv.mkDerivation rec {
     # Revert the commit that made the sphinx build fork even in the single thread
     # case. For some yet unknown reason, that breaks the docbuild on nix and archlinux.
     # See https://groups.google.com/forum/#!msg/sage-packaging/VU4h8IWGFLA/mrmCMocYBwAJ.
+    # https://trac.sagemath.org/ticket/26608
     ./patches/revert-sphinx-always-fork.patch
 
     # Make sure py2/py3 tests are only run when their expected context (all "sage"
@@ -39,10 +48,16 @@ stdenv.mkDerivation rec {
     ./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
   ];
 
+  # Patches needed because of package updates. We could just pin the versions of
+  # dependencies, but that would lead to rebuilds, confusion and the burdons of
+  # maintaining multiple versions of dependencies. Instead we try to make sage
+  # compatible with never dependency versions when possible. All these changes
+  # should come from or be proposed to upstream. This list will probably never
+  # be empty since dependencies update all the time.
   packageUpgradePatches = let
-    # fetch a diff between base and rev on sage's git server
-    # used to fetch trac tickets by setting the base to the release and the
-    # revision to the last commit that should be included
+    # Fetch a diff between `base` and `rev` on sage's git server.
+    # Used to fetch trac tickets by setting the `base` to the last release and the
+    # `rev` to the last commit of the ticket.
     fetchSageDiff = { base, rev, ...}@args: (
       fetchpatch ({
         url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
@@ -54,7 +69,7 @@ stdenv.mkDerivation rec {
   in [
     # New glpk version has new warnings, filter those out until upstream sage has found a solution
     # https://trac.sagemath.org/ticket/24824
-    ./patches/pari-stackwarn.patch # not actually necessary since tha pari upgrade, but necessary for the glpk patch to apply
+    ./patches/pari-stackwarn.patch # not actually necessary since the pari upgrade, but necessary for the glpk patch to apply
     (fetchpatch {
       url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/dt-version-glpk-4.65-ignore-warnings.patch";
       sha256 = "0b9293v73wb4x13wv5zwyjgclc01zn16msccfzzi6znswklgvddp";
@@ -64,8 +79,8 @@ stdenv.mkDerivation rec {
     # https://trac.sagemath.org/ticket/25260
     ./patches/numpy-1.15.1.patch
 
-    # ntl upgrade
-    # https://trac.sagemath.org/ticket/25532#comment:29
+    # needed for ntl update
+    # https://trac.sagemath.org/ticket/25532
     (fetchpatch {
       name = "lcalc-c++11.patch";
       url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/sagemath-lcalc-c++11.patch?h=packages/sagemath&id=0e31ae526ab7c6b5c0bfacb3f8b1c4fd490035aa";
@@ -100,9 +115,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  patches = nixPatches ++ packageUpgradePatches ++ [
-    ./patches/known-padics-bug.patch
-  ];
+  patches = nixPatches ++ packageUpgradePatches;
 
   postPatch = ''
     # make sure shebangs etc are fixed, but sage-python23 still works
diff --git a/pkgs/applications/science/math/sage/sage-tests.nix b/pkgs/applications/science/math/sage/sage-tests.nix
new file mode 100644
index 000000000000..1f400db18fcb
--- /dev/null
+++ b/pkgs/applications/science/math/sage/sage-tests.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, lib
+, sage-with-env
+, makeWrapper
+, files ? null # "null" means run all tests
+, longTests ? true # run tests marked as "long time"
+}:
+
+# for a quick test of some source files:
+# nix-build -E 'with (import ./. {}); sage.tests.override { files = [ "src/sage/misc/cython.py" ];}'
+
+let
+  src = sage-with-env.env.lib.src;
+  runAllTests = files == null;
+  testArgs = if runAllTests then "--all" else testFileList;
+  patienceSpecifier = if longTests then "--long" else "";
+  relpathToArg = relpath: lib.escapeShellArg "${src}/${relpath}"; # paths need to be absolute
+  testFileList = lib.concatStringsSep " " (map relpathToArg files);
+in
+stdenv.mkDerivation rec {
+  version = src.version;
+  name = "sage-tests-${version}";
+  inherit src;
+
+  buildInputs = [
+    makeWrapper
+    sage-with-env
+  ];
+
+  unpackPhase = "#do nothing";
+  configurePhase = "#do nothing";
+  buildPhase = "#do nothing";
+
+  installPhase = ''
+    # This output is not actually needed for anything, the package just
+    # exists to decouple the sage build from its t ests.
+
+    mkdir -p "$out/bin"
+    # Like a symlink, but make sure that $0 points to the original.
+    makeWrapper "${sage-with-env}/bin/sage" "$out/bin/sage"
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    export HOME="$TMPDIR/sage-home"
+    mkdir -p "$HOME"
+
+    # "--long" tests are in the order of 1h, without "--long" its 1/2h
+    "sage" -t --timeout=0 --nthreads "$NIX_BUILD_CORES" --optional=sage ${patienceSpecifier} ${testArgs}
+  '';
+}
diff --git a/pkgs/applications/science/math/sage/sage-with-env.nix b/pkgs/applications/science/math/sage/sage-with-env.nix
index 63b9772b8231..c5db392f1036 100644
--- a/pkgs/applications/science/math/sage/sage-with-env.nix
+++ b/pkgs/applications/science/math/sage/sage-with-env.nix
@@ -2,11 +2,7 @@
 , lib
 , makeWrapper
 , sage-env
-, sage-src
 , openblasCompat
-, openblas-blas-pc
-, openblas-cblas-pc
-, openblas-lapack-pc
 , pkg-config
 , three
 , singular
@@ -26,15 +22,15 @@
 , pythonEnv
 }:
 
+# Wrapper that combined `sagelib` with `sage-env` to produce an actually
+# executable sage. No tests are run yet and no documentation is built.
+
 let
   buildInputs = [
     pythonEnv # for patchShebangs
     makeWrapper
     pkg-config
     openblasCompat # lots of segfaults with regular (64 bit) openblas
-    openblas-blas-pc
-    openblas-cblas-pc
-    openblas-lapack-pc
     singular
     three
     pynac
@@ -92,13 +88,12 @@ let
   input_names = map (dep: pkg_to_spkg_name dep patch_names) transitiveDeps;
 in
 stdenv.mkDerivation rec {
-  version = sage-src.version;
+  version = src.version;
   name = "sage-with-env-${version}";
+  src = sage-env.lib.src;
 
   inherit buildInputs;
 
-  src = sage-src;
-
   configurePhase = "#do nothing";
 
   buildPhase = ''
@@ -110,17 +105,24 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p "$out/var/lib/sage"
-    cp -r installed $out/var/lib/sage
+    cp -r installed "$out/var/lib/sage"
 
     mkdir -p "$out/etc"
     # sage tests will try to create this file if it doesn't exist
     touch "$out/etc/sage-started.txt"
 
     mkdir -p "$out/build"
+
+    # the scripts in src/bin will find the actual sage source files using environment variables set in `sage-env`
     cp -r src/bin "$out/bin"
     cp -r build/bin "$out/build/bin"
+
     cp -f '${sage-env}/sage-env' "$out/bin/sage-env"
     substituteInPlace "$out/bin/sage-env" \
       --subst-var-by sage-local "$out"
   '';
+
+  passthru = {
+    env = sage-env;
+  };
 }
diff --git a/pkgs/applications/science/math/sage/sage-wrapper.nix b/pkgs/applications/science/math/sage/sage-wrapper.nix
deleted file mode 100644
index 4b2f9c461c18..000000000000
--- a/pkgs/applications/science/math/sage/sage-wrapper.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv
-, makeWrapper
-, sage
-, sage-src
-, sagedoc
-, withDoc
-}:
-
-stdenv.mkDerivation rec {
-  version = sage.version;
-  name = "sage-${version}";
-
-  buildInputs = [
-    makeWrapper
-  ];
-
-  unpackPhase = "#do nothing";
-  configurePhase = "#do nothing";
-  buildPhase = "#do nothing";
-
-  installPhase = ''
-    mkdir -p "$out/bin"
-    makeWrapper "${sage}/bin/sage" "$out/bin/sage" \
-      --set SAGE_DOC_SRC_OVERRIDE "${sage-src}/src/doc" ${
-      stdenv.lib.optionalString withDoc "--set SAGE_DOC_OVERRIDE ${sagedoc}/share/doc/sage"
-    }
-  '';
-
-  doInstallCheck = withDoc;
-  installCheckPhase = ''
-    export HOME="$TMPDIR/sage-home"
-    mkdir -p "$HOME"
-    "$out/bin/sage" -c 'browse_sage_doc._open("reference", testing=True)'
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ timokau ];
-  };
-}
diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix
index ad9a32e0ca56..ac255643a348 100644
--- a/pkgs/applications/science/math/sage/sage.nix
+++ b/pkgs/applications/science/math/sage/sage.nix
@@ -1,14 +1,35 @@
 { stdenv
-, sage-with-env
 , makeWrapper
+, sage-tests
+, sage-with-env
+, jupyter-kernel-definition
+, jupyter-kernel
+, sagedoc
+, withDoc
 }:
 
+# A wrapper that makes sure sage finds its docs (if they were build) and the
+# jupyter kernel spec.
+
+let 
+  # generate kernel spec + default kernels
+  kernel-specs = jupyter-kernel.create {
+    definitions = jupyter-kernel.default // {
+      sagemath = jupyter-kernel-definition;
+    };
+  };
+in
 stdenv.mkDerivation rec {
-  version = sage-with-env.version;
-  name = "sage-tests-${version}";
+  version = src.version;
+  name = "sage-${version}";
+  src = sage-with-env.env.lib.src;
 
   buildInputs = [
     makeWrapper
+
+    # This is a hack to make sure sage-tests is evaluated. It doesn't acutally
+    # produce anything of value, it just decouples the tests from the build.
+    sage-tests
   ];
 
   unpackPhase = "#do nothing";
@@ -17,16 +38,30 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p "$out/bin"
-    # Like a symlink, but make sure that $0 points to the original.
-    makeWrapper "${sage-with-env}/bin/sage" "$out/bin/sage"
+    makeWrapper "${sage-with-env}/bin/sage" "$out/bin/sage" \
+      --set SAGE_DOC_SRC_OVERRIDE "${src}/src/doc" ${
+        stdenv.lib.optionalString withDoc "--set SAGE_DOC_OVERRIDE ${sagedoc}/share/doc/sage"
+      } \
+      --prefix JUPYTER_PATH : "${kernel-specs}"
   '';
 
-  doInstallCheck = true;
+  doInstallCheck = withDoc;
   installCheckPhase = ''
     export HOME="$TMPDIR/sage-home"
     mkdir -p "$HOME"
-
-    # "--long" tests are in the order of 1h, without "--long" its 1/2h
-    "$out/bin/sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage --long --all
+    "$out/bin/sage" -c 'browse_sage_doc._open("reference", testing=True)'
   '';
+
+  passthru = {
+    tests = sage-tests;
+    doc = sagedoc;
+    lib = sage-with-env.env.lib;
+    kernelspec = jupyter-kernel-definition;
+  };
+
+  meta = with stdenv.lib; {
+    description = "Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ timokau ];
+  };
 }
diff --git a/pkgs/applications/science/math/sage/sagedoc.nix b/pkgs/applications/science/math/sage/sagedoc.nix
index a594428a389a..cc1a4fc61e0c 100644
--- a/pkgs/applications/science/math/sage/sagedoc.nix
+++ b/pkgs/applications/science/math/sage/sagedoc.nix
@@ -1,63 +1,49 @@
 { stdenv
-, sage-src
 , sage-with-env
-, sagelib
-, python2
-, psutil
-, future
-, sphinx
-, sagenb
+, python
 , maxima-ecl
-, networkx
-, scipy
-, sympy
-, matplotlib
-, pillow
-, ipykernel
-, jupyter_client
 , tachyon
 , jmol
-, ipywidgets
-, typing
 , cddlib
-, pybrial
 }:
 
 stdenv.mkDerivation rec {
-  version = sage-src.version;
+  version = src.version;
   name = "sagedoc-${version}";
+  src = sage-with-env.env.lib.src;
 
 
   # Building the documentation has many dependencies, because all documented
   # modules are imported and because matplotlib is used to produce plots.
   buildInputs = [
-    sagelib
-    python2
+    sage-with-env.env.lib
+    python
+    maxima-ecl
+    tachyon
+    jmol
+    cddlib
+  ] ++ (with python.pkgs; [
     psutil
     future
     sphinx
     sagenb
-    maxima-ecl
-    networkx
     scipy
     sympy
     matplotlib
     pillow
+    networkx
     ipykernel
-    jupyter_client
-    tachyon
-    jmol
     ipywidgets
+    jupyter_client
     typing
-    cddlib
     pybrial
-  ];
+  ]);
 
   unpackPhase = ''
     export SAGE_DOC_OVERRIDE="$PWD/share/doc/sage"
     export SAGE_DOC_SRC_OVERRIDE="$PWD/docsrc"
 
-    cp -r "${sage-src}/src/doc" "$SAGE_DOC_SRC_OVERRIDE"
+    cp -r "${src}/src/doc" "$SAGE_DOC_SRC_OVERRIDE"
     chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE"
   '';
 
diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix
index d26f5dad724e..03b1ecd2c0b7 100644
--- a/pkgs/applications/science/math/sage/sagelib.nix
+++ b/pkgs/applications/science/math/sage/sagelib.nix
@@ -3,9 +3,6 @@
 , buildPythonPackage
 , arb
 , openblasCompat
-, openblas-blas-pc
-, openblas-cblas-pc
-, openblas-lapack-pc
 , brial
 , cliquer
 , cypari2
@@ -51,19 +48,20 @@
 , libbraiding
 }:
 
+# This is the core sage python package. Everything else is just wrappers gluing
+# stuff together. It is not very useful on its own though, since it will not
+# find many of its dependencies without `sage-env`, will not be tested without
+# `sage-tests` and will not have html docs without `sagedoc`.
+
 buildPythonPackage rec {
   format = "other";
-  version = sage-src.version;
-  pname = "sagelib";
-
+  version = src.version;
+  name = "sagelib-${version}";
   src = sage-src;
 
   nativeBuildInputs = [
     iml
     perl
-    openblas-blas-pc
-    openblas-cblas-pc
-    openblas-lapack-pc
     jupyter_core
   ];
 
diff --git a/pkgs/applications/science/math/sage/sagenb.nix b/pkgs/applications/science/math/sage/sagenb.nix
index cc883cc24b42..5adfde4388a7 100644
--- a/pkgs/applications/science/math/sage/sagenb.nix
+++ b/pkgs/applications/science/math/sage/sagenb.nix
@@ -1,4 +1,3 @@
-# Has a cyclic dependency with sage (not expressed here) and is not useful outside of sage
 { stdenv
 , fetchpatch
 , python
@@ -13,6 +12,10 @@
 , flask-babel
 }:
 
+# Has a cyclic dependency with sage (not expressed here) and is not useful outside of sage.
+# Deprecated, hopefully soon to be removed. See
+# https://trac.sagemath.org/ticket/25837
+
 buildPythonPackage rec {
   pname = "sagenb";
   version = "2018-06-26"; # not 1.0.1 because of new flask syntax
diff --git a/pkgs/applications/science/misc/golly/beta.nix b/pkgs/applications/science/misc/golly/beta.nix
index dc768725d4fb..83b9c5a04a19 100644
--- a/pkgs/applications/science/misc/golly/beta.nix
+++ b/pkgs/applications/science/misc/golly/beta.nix
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
-    downloadPage = "http://sourceforge.net/projects/golly/files/golly";
+    downloadPage = "https://sourceforge.net/projects/golly/files/golly";
   };
 }
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index 0f0b44ccfa5e..cfa4dca4b0de 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
-    downloadPage = "http://sourceforge.net/projects/golly/files/golly";
+    downloadPage = "https://sourceforge.net/projects/golly/files/golly";
   };
 }
diff --git a/pkgs/applications/science/misc/golly/default.upstream b/pkgs/applications/science/misc/golly/default.upstream
index ab9fb03e7b18..e8ce81586a8d 100644
--- a/pkgs/applications/science/misc/golly/default.upstream
+++ b/pkgs/applications/science/misc/golly/default.upstream
@@ -1,4 +1,4 @@
-url http://sourceforge.net/projects/golly/files/golly/
+url https://sourceforge.net/projects/golly/files/golly/
 version_link '[-][0-9.]+/$'
 SF_version_tarball 'src'
 SF_redirect
diff --git a/pkgs/applications/science/physics/quantomatic/default.nix b/pkgs/applications/science/physics/quantomatic/default.nix
new file mode 100644
index 000000000000..ad86ff61471c
--- /dev/null
+++ b/pkgs/applications/science/physics/quantomatic/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, jre, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "quantomatic-${version}";
+  version = "0.7";
+
+  src = fetchurl {
+    url = "https://github.com/Quantomatic/quantomatic/releases/download/v${version}/Quantomatic-v${version}.jar";
+    sha256 = "04dd5p73a7plb4l4x2balam8j7mxs8df06rjkalxycrr1id52q4r";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/libexec/quantomatic
+    cp $src $out/libexec/quantomatic/quantomatic.jar
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/quantomatic --add-flags "-jar $out/libexec/quantomatic/quantomatic.jar"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A piece of software for reasoning about monoidal theories; in particular, quantum information processing";
+    license = licenses.gpl3;
+    homepage = https://quantomatic.github.io/;
+    maintainers = with maintainers; [ nickhu ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/applications/search/catfish/default.nix
index c36baae0621b..ab34c6bec922 100644
--- a/pkgs/applications/search/catfish/default.nix
+++ b/pkgs/applications/search/catfish/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, file, which, intltool, gobjectIntrospection,
+{ stdenv, fetchurl, file, which, intltool, gobject-introspection,
   findutils, xdg_utils, gnome3, pythonPackages, hicolor-icon-theme,
   wrapGAppsHook
 }:
@@ -19,7 +19,7 @@ pythonPackages.buildPythonApplication rec {
     file
     which
     intltool
-    gobjectIntrospection
+    gobject-introspection
     wrapGAppsHook
   ];
 
diff --git a/pkgs/applications/version-management/bazaar/tools.nix b/pkgs/applications/version-management/bazaar/tools.nix
index 82c87f30b711..d16ea2710503 100644
--- a/pkgs/applications/version-management/bazaar/tools.nix
+++ b/pkgs/applications/version-management/bazaar/tools.nix
@@ -5,7 +5,7 @@ python2Packages.buildPythonApplication rec {
   version = "2.6.0";
 
   src = fetchurl {
-    url = "http://launchpad.net/bzrtools/stable/${version}/+download/bzrtools-${version}.tar.gz";
+    url = "https://launchpad.net/bzrtools/stable/${version}/+download/bzrtools-${version}.tar.gz";
     sha256 = "0n3zzc6jf5866kfhmrnya1vdr2ja137a45qrzsz8vz6sc6xgn5wb";
   };
 
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index c99ae18ff527..21cdd87ddcf7 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -94,6 +94,8 @@ let
 
   git-remote-hg = callPackage ./git-remote-hg { };
 
+  git-reparent = callPackage ./git-reparent { };
+
   git-secret = callPackage ./git-secret { };
 
   git-secrets = callPackage ./git-secrets { };
diff --git a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
index 88d1f07ee74b..fd50febb4699 100644
--- a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Import svn, mercurial into git";
-    homepage = http://repo.or.cz/w/fast-export.git;
+    homepage = https://repo.or.cz/w/fast-export.git;
     license = licenses.gpl2;
     maintainers = [ maintainers.koral ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix b/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix
new file mode 100644
index 000000000000..03435ec834ab
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, makeWrapper, git, gnused }:
+
+stdenv.mkDerivation rec {
+  name = "git-reparent-${version}";
+  version = "unstable-2017-09-03";
+
+  src = fetchFromGitHub {
+    owner  = "MarkLodato";
+    repo   = "git-reparent";
+    rev    = "a99554a32524a86421659d0f61af2a6c784b7715";
+    sha256 = "0v0yxydpw6r4awy0hb7sbnh520zsk86ibzh1xjf3983yhsvkfk5v";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    install -m755 -Dt $out/bin git-reparent
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/git-reparent --prefix PATH : "${stdenv.lib.makeBinPath [ git gnused ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Git command to recommit HEAD with a new set of parents";
+    maintainers = [ maintainers.marsam ];
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
deleted file mode 100644
index 38181399eec8..000000000000
--- a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/go/internal/config/config.go b/go/internal/config/config.go
-index c57b4de..88cfc95 100644
---- a/go/internal/config/config.go
-+++ b/go/internal/config/config.go
-@@ -27,7 +27,7 @@ func New() (*Config, error) {
- 	}
- 	cfg.RootDir = dir
- 
--	configBytes, err := ioutil.ReadFile(path.Join(cfg.RootDir, configFile))
-+	configBytes, err := ioutil.ReadFile("/run/gitlab/shell-config.yml")
- 	if err != nil {
- 		return nil, err
- 	}
-diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
-index 1452f95..2b40327 100644
---- a/lib/gitlab_shell.rb
-+++ b/lib/gitlab_shell.rb
-@@ -180,7 +180,8 @@ class GitlabShell
-     end
- 
-     # We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is.
--    Kernel.exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH)
-+    # Except we don't, because we're already in the right directory on nixos!
-+    Kernel.exec(env, *args, unsetenv_others: true)
-   end
- 
-   def api
diff --git a/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch b/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch
deleted file mode 100644
index da6dc5493ac5..000000000000
--- a/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile	2018-10-08 12:45:15.206269937 +0200
-+++ b/Makefile	2018-10-08 12:45:24.435366307 +0200
-@@ -6,7 +6,7 @@
- BIN_BUILD_DIR := $(TARGET_DIR)/bin
- PKG_BUILD_DIR := $(TARGET_DIR)/src/$(PKG)
- COVERAGE_DIR := $(TARGET_DIR)/cover
--VERSION := $(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S)
-+VERSION := 6.1.1
- GOBUILD := go build -ldflags "-X main.Version=$(VERSION)"
- EXE_ALL := gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse
- INSTALL := install
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
new file mode 100644
index 000000000000..e2be6fb2a908
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -0,0 +1,32 @@
+{
+  "ce": {
+    "version": "11.5.0",
+    "repo_hash": "0cjkkap3n9g9zahrxk99a330ahyb6cvx97dsnrxcdsn0cbrsxsrb",
+    "deb_hash": "0kn7mg1lk4gvc3x76z4rbh0j03b0wk6x1p5938wx8sc50k0bgrcp",
+    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.5.0-ce.0_amd64.deb/download.deb",
+    "owner": "gitlab-org",
+    "repo": "gitlab-ce",
+    "rev": "v11.5.0",
+    "passthru": {
+      "GITALY_SERVER_VERSION": "0.129.0",
+      "GITLAB_PAGES_VERSION": "1.3.0",
+      "GITLAB_SHELL_VERSION": "8.4.1",
+      "GITLAB_WORKHORSE_VERSION": "7.1.0"
+    }
+  },
+  "ee": {
+    "version": "11.5.0",
+    "repo_hash": "1s2jr7vhbpklpcfjxgxnmq0zq14hh2aa6akdsb7ld7fj5lmzp00z",
+    "deb_hash": "108mgmlf947h200qrwg71ilhq5ihr4awxns6lqs2wa90ph9yq25c",
+    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.5.0-ee.0_amd64.deb/download.deb",
+    "owner": "gitlab-org",
+    "repo": "gitlab-ee",
+    "rev": "v11.5.0-ee",
+    "passthru": {
+      "GITALY_SERVER_VERSION": "0.129.0",
+      "GITLAB_PAGES_VERSION": "1.3.0",
+      "GITLAB_SHELL_VERSION": "8.4.1",
+      "GITLAB_WORKHORSE_VERSION": "7.1.0"
+    }
+  }
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index c1c4d20feacb..2ffe1141b5a0 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -11,32 +11,22 @@ let
     groups = [ "default" "unicorn" "ed25519" "metrics" ];
   };
 
-  version = "11.4.4";
+  flavour = if gitlabEnterprise then "ee" else "ce";
+  data = (builtins.fromJSON (builtins.readFile ./data.json)).${flavour};
 
-  sources = if gitlabEnterprise then {
-    gitlabDeb = fetchurl {
-      url = "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_${version}-ee.0_amd64.deb/download.deb";
-      sha256 = "15lpcdjcw6lpmzlhqnpd6pgaxh7wvx2mldjd1vqr414r4bcnhgy4";
-    };
+  version = data.version;
+  sources = {
     gitlab = fetchFromGitLab {
-      owner = "gitlab-org";
-      repo = "gitlab-ee";
-      rev = "v${version}-ee";
-      sha256 = "046hchr7q4jnx3j4yxg3rdixfzlva35al3ci26pf9vxrbbl5y8cg";
+      owner = data.owner;
+      repo = data.repo;
+      rev = data.rev;
+      sha256 = data.repo_hash;
     };
-  } else {
     gitlabDeb = fetchurl {
-      url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_${version}-ce.0_amd64.deb/download.deb";
-      sha256 = "02p7azyjgb984bk491q6f4zk1mikbcd38rif08kl07bjjzzkir81";
-    };
-    gitlab = fetchFromGitLab {
-      owner = "gitlab-org";
-      repo = "gitlab-ce";
-      rev = "v${version}";
-      sha256 = "1hq9iyp0xrxwmncn61ja3pdj9h2hmdy1l63d1ic3r1dyacybaf2g";
+      url = data.deb_url;
+      sha256 = data.deb_hash;
     };
   };
-
 in
 
 stdenv.mkDerivation rec {
@@ -101,6 +91,10 @@ stdenv.mkDerivation rec {
   passthru = {
     inherit rubyEnv;
     ruby = rubyEnv.wrappedRuby;
+    GITALY_SERVER_VERSION = data.passthru.GITALY_SERVER_VERSION;
+    GITLAB_PAGES_VERSION = data.passthru.GITLAB_PAGES_VERSION;
+    GITLAB_SHELL_VERSION = data.passthru.GITLAB_SHELL_VERSION;
+    GITLAB_WORKHORSE_VERSION = data.passthru.GITLAB_WORKHORSE_VERSION;
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 2b752992fecd..016f80284da9 100644
--- a/pkgs/applications/version-management/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -1,14 +1,17 @@
 source 'https://rubygems.org'
 
-gem 'rugged', '~> 0.27.4'
+# Require bundler >= 1.16.5 to avoid this bug: https://github.com/bundler/bundler/issues/6537
+gem 'bundler', '>= 1.16.5'
+
+gem 'rugged', '~> 0.27'
 gem 'github-linguist', '~> 6.1', require: 'linguist'
 gem 'gitlab-markup', '~> 1.6.4'
-gem 'gitaly-proto', '~> 0.116.0', require: 'gitaly'
+gem 'gitaly-proto', '~> 0.123.0', require: 'gitaly'
 gem 'activesupport', '~> 5.0.2'
 gem 'rdoc', '~> 4.2'
 gem 'gitlab-gollum-lib', '~> 4.2', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4', require: false
-gem 'grpc', '~> 1.11.0'
+gem 'grpc', '~> 1.15.0'
 gem 'sentry-raven', '~> 2.7.2', require: false
 gem 'faraday', '~> 0.12'
 
@@ -16,10 +19,12 @@ gem 'faraday', '~> 0.12'
 # This version needs to be in sync with GitLab CE/EE
 gem 'licensee', '~> 8.9.0'
 
-# Locked until https://github.com/google/protobuf/issues/4210 is closed
-gem 'google-protobuf', '= 3.5.1'
+gem 'google-protobuf', '~> 3.6'
 
 group :development, :test do
-  gem 'gitlab-styles', '~> 2.0.0', require: false
+  gem 'rubocop', '~> 0.50', require: false
   gem 'rspec', require: false
+  gem 'rspec-parameterized', require: false
+  gem 'timecop', require: false
+  gem 'factory_bot', require: false
 end
diff --git a/pkgs/applications/version-management/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index d76ba86c398a..0340853524b0 100644
--- a/pkgs/applications/version-management/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -1,26 +1,37 @@
 GEM
   remote: https://rubygems.org/
   specs:
+    abstract_type (0.0.7)
     activesupport (5.0.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (~> 0.7)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    addressable (2.5.2)
-      public_suffix (>= 2.0.2, < 4.0)
-    ast (2.3.0)
+    adamantium (0.2.0)
+      ice_nine (~> 0.11.0)
+      memoizable (~> 0.4.0)
+    ast (2.4.0)
+    binding_of_caller (0.8.0)
+      debug_inspector (>= 0.0.1)
     charlock_holmes (0.7.6)
+    coderay (1.1.2)
+    concord (0.1.5)
+      adamantium (~> 0.2.0)
+      equalizer (~> 0.0.9)
     concurrent-ruby (1.0.5)
     crass (1.0.4)
+    debug_inspector (0.0.3)
     diff-lcs (1.3)
+    equalizer (0.0.11)
     escape_utils (1.2.1)
-    faraday (0.12.2)
+    factory_bot (4.11.1)
+      activesupport (>= 3.0.0)
+    faraday (0.15.3)
       multipart-post (>= 1.2, < 3)
     gemojione (3.3.0)
       json
-    gitaly-proto (0.116.0)
-      google-protobuf (~> 3.1)
-      grpc (~> 1.10)
+    gitaly-proto (0.123.0)
+      grpc (~> 1.0)
     github-linguist (6.2.0)
       charlock_holmes (~> 0.7.6)
       escape_utils (~> 1.2.0)
@@ -44,60 +55,44 @@ GEM
       mime-types (>= 1.16)
       posix-spawn (~> 0.3)
     gitlab-markup (1.6.4)
-    gitlab-styles (2.0.0)
-      rubocop (~> 0.49)
-      rubocop-gitlab-security (~> 0.1.0)
-      rubocop-rspec (~> 1.15)
     gollum-grit_adapter (1.0.1)
       gitlab-grit (~> 2.7, >= 2.7.1)
-    google-protobuf (3.5.1)
-    googleapis-common-protos-types (1.0.1)
+    google-protobuf (3.6.1)
+    googleapis-common-protos-types (1.0.2)
       google-protobuf (~> 3.0)
-    googleauth (0.6.2)
-      faraday (~> 0.12)
-      jwt (>= 1.4, < 3.0)
-      logging (~> 2.0)
-      memoist (~> 0.12)
-      multi_json (~> 1.11)
-      os (~> 0.9)
-      signet (~> 0.7)
-    grpc (1.11.0)
+    grpc (1.15.0)
       google-protobuf (~> 3.1)
       googleapis-common-protos-types (~> 1.0.0)
-      googleauth (>= 0.5.1, < 0.7)
     i18n (0.8.1)
+    ice_nine (0.11.2)
     json (2.1.0)
-    jwt (2.1.0)
     licensee (8.9.2)
       rugged (~> 0.24)
-    little-plugger (1.1.4)
-    logging (2.2.2)
-      little-plugger (~> 1.1)
-      multi_json (~> 1.10)
-    memoist (0.16.0)
+    memoizable (0.4.2)
+      thread_safe (~> 0.3, >= 0.3.1)
     mime-types (3.2.2)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2018.0812)
     mini_portile2 (2.3.0)
     minitest (5.9.1)
-    multi_json (1.13.1)
     multipart-post (2.0.0)
     nokogiri (1.8.4)
       mini_portile2 (~> 2.3.0)
     nokogumbo (1.5.0)
       nokogiri
-    os (0.9.6)
-    parallel (1.12.0)
-    parser (2.4.0.0)
-      ast (~> 2.2)
+    parallel (1.12.1)
+    parser (2.5.1.2)
+      ast (~> 2.4.0)
     posix-spawn (0.3.13)
-    powerpack (0.1.1)
-    public_suffix (3.0.2)
-    rainbow (2.2.2)
-      rake
-    rake (12.1.0)
+    powerpack (0.1.2)
+    proc_to_ast (0.1.0)
+      coderay
+      parser
+      unparser
+    procto (0.0.3)
+    rainbow (3.0.0)
     rdoc (4.3.0)
-    rouge (3.2.1)
+    rouge (3.3.0)
     rspec (3.7.0)
       rspec-core (~> 3.7.0)
       rspec-expectations (~> 3.7.0)
@@ -110,56 +105,66 @@ GEM
     rspec-mocks (3.7.0)
       diff-lcs (>= 1.2.0, < 2.0)
       rspec-support (~> 3.7.0)
+    rspec-parameterized (0.4.0)
+      binding_of_caller
+      parser
+      proc_to_ast
+      rspec (>= 2.13, < 4)
+      unparser
     rspec-support (3.7.1)
-    rubocop (0.50.0)
+    rubocop (0.54.0)
       parallel (~> 1.10)
-      parser (>= 2.3.3.1, < 3.0)
+      parser (>= 2.5)
       powerpack (~> 0.1)
-      rainbow (>= 2.2.2, < 3.0)
+      rainbow (>= 2.2.2, < 4.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (~> 1.0, >= 1.0.1)
-    rubocop-gitlab-security (0.1.0)
-      rubocop (>= 0.47.1)
-    rubocop-rspec (1.17.0)
-      rubocop (>= 0.50.0)
-    ruby-progressbar (1.8.3)
-    rugged (0.27.4)
+    ruby-progressbar (1.10.0)
+    rugged (0.27.5)
     sanitize (4.6.6)
       crass (~> 1.0.2)
       nokogiri (>= 1.4.4)
       nokogumbo (~> 1.4)
     sentry-raven (2.7.2)
       faraday (>= 0.7.6, < 1.0)
-    signet (0.8.1)
-      addressable (~> 2.3)
-      faraday (~> 0.9)
-      jwt (>= 1.5, < 3.0)
-      multi_json (~> 1.10)
     stringex (2.8.4)
     thread_safe (0.3.6)
+    timecop (0.9.1)
     tzinfo (1.2.2)
       thread_safe (~> 0.1)
-    unicode-display_width (1.3.0)
+    unicode-display_width (1.4.0)
+    unparser (0.2.8)
+      abstract_type (~> 0.0.7)
+      adamantium (~> 0.2.0)
+      concord (~> 0.1.5)
+      diff-lcs (~> 1.3)
+      equalizer (~> 0.0.9)
+      parser (>= 2.3.1.2, < 2.6)
+      procto (~> 0.0.2)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
   activesupport (~> 5.0.2)
+  bundler (>= 1.16.5)
+  factory_bot
   faraday (~> 0.12)
-  gitaly-proto (~> 0.116.0)
+  gitaly-proto (~> 0.123.0)
   github-linguist (~> 6.1)
   gitlab-gollum-lib (~> 4.2)
   gitlab-gollum-rugged_adapter (~> 0.4.4)
   gitlab-markup (~> 1.6.4)
-  gitlab-styles (~> 2.0.0)
-  google-protobuf (= 3.5.1)
-  grpc (~> 1.11.0)
+  google-protobuf (~> 3.6)
+  grpc (~> 1.15.0)
   licensee (~> 8.9.0)
   rdoc (~> 4.2)
   rspec
-  rugged (~> 0.27.4)
+  rspec-parameterized
+  rubocop (~> 0.50)
+  rugged (~> 0.27)
   sentry-raven (~> 2.7.2)
+  timecop
 
 BUNDLED WITH
-   1.16.4
+   1.17.1
diff --git a/pkgs/applications/version-management/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 88bd0b9f10db..951dbf0bf25a 100644
--- a/pkgs/applications/version-management/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -7,14 +7,14 @@ let
     gemdir = ./.;
   };
 in buildGoPackage rec {
-  version = "0.125.1";
+  version = "0.129.0";
   name = "gitaly-${version}";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "0vbxjqjs1r5c350r67812andasby5zk25xlaqp201lmlvamiv0ni";
+    sha256 = "0lidqa0w0vy87p5xfmqrfvbyzvl9wj2p918qs2f5rc7shzm38rn6";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
diff --git a/pkgs/applications/version-management/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index 0717555b3829..9bf5601bf634 100644
--- a/pkgs/applications/version-management/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -1,4 +1,12 @@
 {
+  abstract_type = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14";
+      type = "gem";
+    };
+    version = "0.0.7";
+  };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     source = {
@@ -8,22 +16,31 @@
     };
     version = "5.0.6";
   };
-  addressable = {
-    dependencies = ["public_suffix"];
+  adamantium = {
+    dependencies = ["ice_nine" "memoizable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
+      sha256 = "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak";
       type = "gem";
     };
-    version = "2.5.2";
+    version = "0.2.0";
   };
   ast = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pp82blr5fakdk27d1d21xq9zchzb6vmyb1zcsl520s3ygvprn8m";
+      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.0";
+  };
+  binding_of_caller = {
+    dependencies = ["debug_inspector"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g";
+      type = "gem";
+    };
+    version = "0.8.0";
   };
   charlock_holmes = {
     source = {
@@ -33,6 +50,23 @@
     };
     version = "0.7.6";
   };
+  coderay = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
+  concord = {
+    dependencies = ["adamantium" "equalizer"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1b6cdn0fg4n9gzbdr7zyf4jq40y6h0c0g9cra7wk9hhmsylk91bg";
+      type = "gem";
+    };
+    version = "0.1.5";
+  };
   concurrent-ruby = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -49,6 +83,14 @@
     };
     version = "1.0.4";
   };
+  debug_inspector = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0";
+      type = "gem";
+    };
+    version = "0.0.3";
+  };
   diff-lcs = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -57,6 +99,14 @@
     };
     version = "1.3";
   };
+  equalizer = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
+      type = "gem";
+    };
+    version = "0.0.11";
+  };
   escape_utils = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -65,14 +115,23 @@
     };
     version = "1.2.1";
   };
+  factory_bot = {
+    dependencies = ["activesupport"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13q1b7imb591068plg4ashgsqgzarvfjz6xxn3jk6klzikz5zhg1";
+      type = "gem";
+    };
+    version = "4.11.1";
+  };
   faraday = {
     dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "157c4cmb5g1b3ny6k9qf9z57rfijl54fcq3hnqqf6g31g1m096b2";
+      sha256 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52";
       type = "gem";
     };
-    version = "0.12.2";
+    version = "0.15.3";
   };
   gemojione = {
     dependencies = ["json"];
@@ -84,13 +143,13 @@
     version = "3.3.0";
   };
   gitaly-proto = {
-    dependencies = ["google-protobuf" "grpc"];
+    dependencies = ["grpc"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15946776v5v8c2jisknjm82s4q3b3q9x2xygjf4bkk4m45n766w1";
+      sha256 = "16b9sdaimhcda401z2s7apf0nz6y0lxs74xhkwlz4jzf6ms44mgg";
       type = "gem";
     };
-    version = "0.116.0";
+    version = "0.123.0";
   };
   github-linguist = {
     dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
@@ -144,15 +203,6 @@
     };
     version = "1.6.4";
   };
-  gitlab-styles = {
-    dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-rspec"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k8xrkjx8rcny8p0gsp18wskvn1qbw4rfgdp1f6x0p4xp6dlhjf4";
-      type = "gem";
-    };
-    version = "2.0.0";
-  };
   gollum-grit_adapter = {
     dependencies = ["gitlab-grit"];
     source = {
@@ -165,37 +215,28 @@
   google-protobuf = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s8ijd9wdrkqwsb6nasrsv7f9i5im2nyax7f7jlb5y9vh8nl98qi";
+      sha256 = "134d3ini9ymdwxpz445m28ss9x0m6vcpijcdkzvgk4n538wdmppf";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "3.6.1";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yf10s7w8wpa49hc86z7z2fkn9yz7j2njz0n8xmqb24ji090z4ck";
+      sha256 = "01ds7g01pxqm3mg283xjzy0lhhvvhvzw3m7gf7szd1r7la4wf0qq";
       type = "gem";
     };
-    version = "1.0.1";
-  };
-  googleauth = {
-    dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f";
-      type = "gem";
-    };
-    version = "0.6.2";
+    version = "1.0.2";
   };
   grpc = {
-    dependencies = ["google-protobuf" "googleapis-common-protos-types" "googleauth"];
+    dependencies = ["google-protobuf" "googleapis-common-protos-types"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1is4czi3i7y6zyxzyrpsma1z91axmc0jz2ngr6ckixqd3629npkz";
+      sha256 = "0m2wspnm1cfkmhlbp7yqv5bb4vsfh246cm0aavxra67aw4l8plhb";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.15.0";
   };
   i18n = {
     source = {
@@ -205,18 +246,18 @@
     };
     version = "0.8.1";
   };
-  json = {
+  ice_nine = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "0.11.2";
   };
-  jwt = {
+  json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky";
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
       type = "gem";
     };
     version = "2.1.0";
@@ -230,30 +271,14 @@
     };
     version = "8.9.2";
   };
-  little-plugger = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
-      type = "gem";
-    };
-    version = "1.1.4";
-  };
-  logging = {
-    dependencies = ["little-plugger" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
-      type = "gem";
-    };
-    version = "2.2.2";
-  };
-  memoist = {
+  memoizable = {
+    dependencies = ["thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh";
+      sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
       type = "gem";
     };
-    version = "0.16.0";
+    version = "0.4.2";
   };
   mime-types = {
     dependencies = ["mime-types-data"];
@@ -288,14 +313,6 @@
     };
     version = "5.9.1";
   };
-  multi_json = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
-      type = "gem";
-    };
-    version = "1.13.1";
-  };
   multipart-post = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -322,30 +339,22 @@
     };
     version = "1.5.0";
   };
-  os = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1llv8w3g2jwggdxr5a5cjkrnbbfnvai3vxacxxc0fy84xmz3hymz";
-      type = "gem";
-    };
-    version = "0.9.6";
-  };
   parallel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qv2yj4sxr36ga6xdxvbq9h05hn10bwcbkqv6j6q1fiixhsdnnzd";
+      sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.12.1";
   };
   parser = {
     dependencies = ["ast"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "130rfk8a2ws2fyq52hmi1n0xakylw39wv4x1qhai4z17x2b0k9cq";
+      sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k";
       type = "gem";
     };
-    version = "2.4.0.0";
+    version = "2.5.1.2";
   };
   posix-spawn = {
     source = {
@@ -358,35 +367,35 @@
   powerpack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43";
+      sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "0.1.2";
   };
-  public_suffix = {
+  proc_to_ast = {
+    dependencies = ["coderay" "parser" "unparser"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s";
+      sha256 = "14c65w48bbzp5lh1cngqd1y25kqvfnq1iy49hlzshl12dsk3z9wj";
       type = "gem";
     };
-    version = "3.0.2";
+    version = "0.1.0";
   };
-  rainbow = {
-    dependencies = ["rake"];
+  procto = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w";
+      sha256 = "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c";
       type = "gem";
     };
-    version = "2.2.2";
+    version = "0.0.3";
   };
-  rake = {
+  rainbow = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mfqgpp3m69s5v1rd51lfh5qpjwyia5p4rg337pw8c8wzm6pgfsw";
+      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
       type = "gem";
     };
-    version = "12.1.0";
+    version = "3.0.0";
   };
   rdoc = {
     source = {
@@ -399,10 +408,10 @@
   rouge = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h79gn2wmn1wix2d27lgiaimccyj8gvizrllyym500pir408x62f";
+      sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql";
       type = "gem";
     };
-    version = "3.2.1";
+    version = "3.3.0";
   };
   rspec = {
     dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
@@ -440,56 +449,47 @@
     };
     version = "3.7.0";
   };
-  rspec-support = {
+  rspec-parameterized = {
+    dependencies = ["binding_of_caller" "parser" "proc_to_ast" "rspec" "unparser"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1";
+      sha256 = "0arynbr6cfjhccwc8gy2xf87nybdnncsnmfwknnh8s7d4mj730p0";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "0.4.0";
   };
-  rubocop = {
-    dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hpd7zcv4y9y750wj630abvmcjwv39dsrj1fjff60ik7gfri0xlz";
-      type = "gem";
-    };
-    version = "0.50.0";
-  };
-  rubocop-gitlab-security = {
-    dependencies = ["rubocop"];
+  rspec-support = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0aw9qmyc6xj6fi0jxp8m4apk358rd91z492ragn6jp4rghkqj5cy";
+      sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "3.7.1";
   };
-  rubocop-rspec = {
-    dependencies = ["rubocop"];
+  rubocop = {
+    dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hf48ng67yswvshmv4cyysj1rs1z3fnvlycr50jdcgwlynpyxkhs";
+      sha256 = "106y99lq0fg62k3vk1w5wwb4vq16pnh4l61skc82xck627z0h8is";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "0.54.0";
   };
   ruby-progressbar = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "029kv0q3kfq53rjyak4ypn7196l8z4hflfmv4p5787n78z7baiqf";
+      sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
       type = "gem";
     };
-    version = "1.8.3";
+    version = "1.10.0";
   };
   rugged = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y6k5yrfmhc1v4albbpa3xzl28vk5lric3si8ada28sp9mmk2x72";
+      sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6";
       type = "gem";
     };
-    version = "0.27.4";
+    version = "0.27.5";
   };
   sanitize = {
     dependencies = ["crass" "nokogiri" "nokogumbo"];
@@ -509,15 +509,6 @@
     };
     version = "2.7.2";
   };
-  signet = {
-    dependencies = ["addressable" "faraday" "jwt" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0js81lxqirdza8gf2f6avh11fny49ygmxfi1qx7jp8l9wrhznbkv";
-      type = "gem";
-    };
-    version = "0.8.1";
-  };
   stringex = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -534,6 +525,14 @@
     };
     version = "0.3.6";
   };
+  timecop = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0d7mm786180v4kzvn1f77rhfppsg5n0sq2bdx63x9nv114zm8jrp";
+      type = "gem";
+    };
+    version = "0.9.1";
+  };
   tzinfo = {
     dependencies = ["thread_safe"];
     source = {
@@ -546,9 +545,18 @@
   unicode-display_width = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12pi0gwqdnbx1lv5136v3vyr0img9wr0kxcn4wn54ipq4y41zxq8";
+      sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  unparser = {
+    dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rh1649846ac17av30x0b0v9l45v0x1j2y1i8m1a7xdd0v4sld0z";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "0.2.8";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 69c4b9a255e3..c9f21047e5b6 100644
--- a/pkgs/applications/version-management/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -1,14 +1,14 @@
 { stdenv, ruby, bundler, fetchFromGitLab, go }:
 
 stdenv.mkDerivation rec {
-  version = "8.3.3";
+  version = "8.4.1";
   name = "gitlab-shell-${version}";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "1qapw0yvlw1nxjik7jpbbbl3yx299sfvdx67zsd5ai7bhk1gd8xl";
+    sha256 = "00jzrpdfqgrba2qi5ngc0g07p7gmip7my563hw542gg8l88d27xq";
   };
 
   buildInputs = [ ruby bundler go ];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
new file mode 100644
index 000000000000..3d381404c63b
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
@@ -0,0 +1,58 @@
+diff --git a/go/internal/config/config.go b/go/internal/config/config.go
+index 435cb29..078c1df 100644
+--- a/go/internal/config/config.go
++++ b/go/internal/config/config.go
+@@ -2,7 +2,6 @@ package config
+ 
+ import (
+ 	"io/ioutil"
+-	"os"
+ 	"path"
+ 
+ 	yaml "gopkg.in/yaml.v2"
+@@ -26,16 +25,13 @@ type Config struct {
+ }
+ 
+ func New() (*Config, error) {
+-	dir, err := os.Getwd()
+-	if err != nil {
+-		return nil, err
+-	}
++	dir := "/run/gitlab"
+ 
+ 	return NewFromDir(dir)
+ }
+ 
+ func NewFromDir(dir string) (*Config, error) {
+-	return newFromFile(path.Join(dir, configFile))
++	return newFromFile(path.Join(dir, "shell-config.yml"))
+ }
+ 
+ func newFromFile(filename string) (*Config, error) {
+diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
+index 57c70f5..700569b 100644
+--- a/lib/gitlab_shell.rb
++++ b/lib/gitlab_shell.rb
+@@ -187,7 +187,8 @@ class GitlabShell # rubocop:disable Metrics/ClassLength
+ 
+     args = [executable, gitaly_address, json_args]
+     # We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is.
+-    Kernel.exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH)
++    # Except we don't, because we're already in the right directory on nixos!
++    Kernel.exec(env, *args, unsetenv_others: true)
+   end
+ 
+   def api
+diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb
+index 0600a18..6814f0a 100644
+--- a/lib/gitlab_keys.rb
++++ b/lib/gitlab_keys.rb
+@@ -10,7 +10,7 @@ class GitlabKeys # rubocop:disable Metrics/ClassLength
+   attr_accessor :auth_file, :key
+
+   def self.command(whatever)
+-    "#{ROOT_PATH}/bin/gitlab-shell #{whatever}"
++    "/run/current-system/sw/bin/gitlab-shell #{whatever}"
+   end
+
+   def self.command_key(key_id)
diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 3fab965bf547..e77dbc323a3c 100644
--- a/pkgs/applications/version-management/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -3,18 +3,18 @@
 stdenv.mkDerivation rec {
   name = "gitlab-workhorse-${version}";
 
-  version = "7.0.0";
+  version = "7.1.0";
 
-  srcs = fetchFromGitLab {
+  src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "1mmfb7h5sbva2kv9h9cxfg7dyksxrwwikq7jwggfawqaadzwm677";
+    sha256 = "1jq28z2kf58wnbv8jkwfx2bm8ki22hpm9ssdy2ymza22gq0zx00g";
   };
 
   buildInputs = [ git go ];
 
-  patches = [ ./remove-hardcoded-paths.patch ./deterministic-build.patch ];
+  patches = [ ./remove-hardcoded-paths.patch ];
 
   makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" ];
 
diff --git a/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch b/pkgs/applications/version-management/gitlab/gitlab-workhorse/remove-hardcoded-paths.patch
index d8313ecb433a..d8313ecb433a 100644
--- a/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/remove-hardcoded-paths.patch
diff --git a/pkgs/applications/version-management/gitlab/update.py b/pkgs/applications/version-management/gitlab/update.py
new file mode 100755
index 000000000000..765f984fba5c
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/update.py
@@ -0,0 +1,234 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log
+
+import click
+import click_log
+import os
+import re
+import logging
+import subprocess
+import json
+import pathlib
+from typing import Iterable
+
+import requests
+from xml.etree import ElementTree
+
+logger = logging.getLogger(__name__)
+
+
+class GitLabRepo:
+    def __init__(self, owner: str, repo: str):
+        self.owner = owner
+        self.repo = repo
+
+    @property
+    def url(self):
+        return f"https://gitlab.com/{self.owner}/{self.repo}"
+
+    @property
+    def tags(self) -> Iterable[str]:
+        r = requests.get(self.url + "/tags?format=atom", stream=True)
+
+        tree = ElementTree.fromstring(r.content)
+        return sorted((e.text for e in tree.findall(
+            '{http://www.w3.org/2005/Atom}entry/{http://www.w3.org/2005/Atom}title')), reverse=True)
+
+    def get_git_hash(self, rev: str):
+        out = subprocess.check_output(['nix-prefetch-git', self.url, rev])
+        j = json.loads(out)
+        return j['sha256']
+
+    def get_deb_url(self, flavour: str, version: str, arch: str = 'amd64') -> str:
+        """
+        gitlab builds debian packages, which we currently need as we don't build the frontend on our own
+        this returns the url of a given flavour, version and arch
+        :param flavour: 'ce' or 'ee'
+        :param version: a version, without 'v' prefix and '-ee' suffix
+        :param arch: amd64
+        :return: url of the debian package
+        """
+        if self.owner != "gitlab-org" or self.repo not in ['gitlab-ce', 'gitlab-ee']:
+            raise Exception(f"don't know how to get deb_url for {self.url}")
+        return f"https://packages.gitlab.com/gitlab/gitlab-{flavour}/packages" + \
+               f"/debian/stretch/gitlab-{flavour}_{version}-{flavour}.0_{arch}.deb/download.deb"
+
+    def get_deb_hash(self, flavour: str, version: str) -> str:
+        out = subprocess.check_output(['nix-prefetch-url', self.get_deb_url(flavour, version)])
+        return out.decode('utf-8').strip()
+
+    @staticmethod
+    def rev2version(tag: str) -> str:
+        """
+        normalize a tag to a version number.
+        This obviously isn't very smart if we don't pass something that looks like a tag
+        :param tag: the tag to normalize
+        :return: a normalized version number
+        """
+        # strip v prefix
+        version = re.sub(r"^v", '', tag)
+        # strip -ee suffix
+        return re.sub(r"-ee$", '', version)
+
+    def get_file(self, filepath, rev):
+        """
+        returns file contents at a given rev
+        :param filepath: the path to the file, relative to the repo root
+        :param rev: the rev to fetch at
+        :return:
+        """
+        return requests.get(self.url + f"/raw/{rev}/{filepath}").text
+
+    def get_data(self, rev, flavour):
+        version = self.rev2version(rev)
+
+        passthru = {v: self.get_file(v, rev).strip() for v in ['GITALY_SERVER_VERSION', 'GITLAB_PAGES_VERSION',
+                                                               'GITLAB_SHELL_VERSION', 'GITLAB_WORKHORSE_VERSION']}
+        return dict(version=self.rev2version(rev),
+                    repo_hash=self.get_git_hash(rev),
+                    deb_hash=self.get_deb_hash(flavour, version),
+                    deb_url=self.get_deb_url(flavour, version),
+                    owner=self.owner,
+                    repo=self.repo,
+                    rev=rev,
+                    passthru=passthru)
+
+
+def _flavour2gitlabrepo(flavour: str):
+    if flavour not in ['ce', 'ee']:
+        raise Exception(f"unknown gitlab flavour: {flavour}, needs to be ce or ee")
+
+    owner = 'gitlab-org'
+    repo = 'gitlab-' + flavour
+
+    return GitLabRepo(owner, repo)
+
+
+def _update_data_json(filename: str, repo: GitLabRepo, rev: str, flavour: str):
+    flavour_data = repo.get_data(rev, flavour)
+
+    if not os.path.exists(filename):
+        with open(filename, 'w') as f:
+            json.dump({flavour: flavour_data}, f, indent=2)
+    else:
+        with open(filename, 'r+') as f:
+            data = json.load(f)
+            data[flavour] = flavour_data
+            f.seek(0)
+            json.dump(data, f, indent=2)
+
+
+def _get_data_json():
+    data_file_path = pathlib.Path(__file__).parent / 'data.json'
+    with open(data_file_path, 'r') as f:
+        return json.load(f)
+
+
+def _call_update_source_version(pkg, version):
+    """calls update-source-version from nixpkgs root dir"""
+    nixpkgs_path = pathlib.Path(__file__).parent / '../../../../'
+    return subprocess.check_output(['update-source-version', pkg, version], cwd=nixpkgs_path)
+
+
+@click_log.simple_verbosity_option(logger)
+@click.group()
+def cli():
+    pass
+
+
+@cli.command('update-data')
+@click.option('--rev', default='latest', help='The rev to use, \'latest\' points to the latest (stable) tag')
+@click.argument('flavour')
+def update_data(rev: str, flavour: str):
+    """Update data.nix for a selected flavour"""
+    r = _flavour2gitlabrepo(flavour)
+
+    if rev == 'latest':
+        # filter out pre and re releases
+        rev = next(filter(lambda x: not ('rc' in x or x.endswith('pre')), r.tags))
+    logger.debug(f"Using rev {rev}")
+
+    version = r.rev2version(rev)
+    logger.debug(f"Using version {version}")
+
+    data_file_path = pathlib.Path(__file__).parent / 'data.json'
+
+    _update_data_json(filename=data_file_path.as_posix(),
+                      repo=r,
+                      rev=rev,
+                      flavour=flavour)
+
+
+@cli.command('update-rubyenv')
+@click.argument('flavour')
+def update_rubyenv(flavour):
+    """Update rubyEnv-${flavour}"""
+    if flavour not in ['ce', 'ee']:
+        raise Exception(f"unknown gitlab flavour: {flavour}, needs to be ce or ee")
+
+    r = _flavour2gitlabrepo(flavour)
+    rubyenv_dir = pathlib.Path(__file__).parent / f"rubyEnv-{flavour}"
+
+    # load rev from data.json
+    data = _get_data_json()
+    rev = data[flavour]['rev']
+
+    for fn in ['Gemfile.lock', 'Gemfile']:
+        with open(rubyenv_dir / fn, 'w') as f:
+            f.write(r.get_file(fn, rev))
+
+    subprocess.check_output(['bundix'], cwd=rubyenv_dir)
+
+
+@cli.command('update-gitaly')
+def update_gitaly():
+    """Update gitaly"""
+    data = _get_data_json()
+    gitaly_server_version = data['ce']['passthru']['GITALY_SERVER_VERSION']
+    r = GitLabRepo('gitlab-org', 'gitaly')
+    rubyenv_dir = pathlib.Path(__file__).parent / 'gitaly'
+
+    for fn in ['Gemfile.lock', 'Gemfile']:
+        with open(rubyenv_dir / fn, 'w') as f:
+            f.write(r.get_file(f"ruby/{fn}", f"v{gitaly_server_version}"))
+
+    subprocess.check_output(['bundix'], cwd=rubyenv_dir)
+    # currently broken, as `gitaly.meta.position` returns
+    # pkgs/development/go-modules/generic/default.nix
+    # so update-source-version doesn't know where to update hashes
+    # _call_update_source_version('gitaly', gitaly_server_version)
+    gitaly_hash = r.get_git_hash(f"v{gitaly_server_version}")
+    click.echo(f"Please update gitaly/default.nix to version {gitaly_server_version} and hash {gitaly_hash}")
+
+
+
+@cli.command('update-gitlab-shell')
+def update_gitlab_shell():
+    """Update gitlab-shell"""
+    data = _get_data_json()
+    gitlab_shell_version = data['ce']['passthru']['GITLAB_SHELL_VERSION']
+    _call_update_source_version('gitlab-shell', gitlab_shell_version)
+
+
+@cli.command('update-gitlab-workhorse')
+def update_gitlab_workhorse():
+    """Update gitlab-shell"""
+    data = _get_data_json()
+    gitlab_workhorse_version = data['ce']['passthru']['GITLAB_WORKHORSE_VERSION']
+    _call_update_source_version('gitlab-workhorse', gitlab_workhorse_version)
+
+
+@cli.command('update-all')
+@click.pass_context
+def update_all(ctx):
+    """Update gitlab ce and ee data.nix and rubyenvs to the latest stable release"""
+    for flavour in ['ce', 'ee']:
+        ctx.invoke(update_data, rev='latest', flavour=flavour)
+        ctx.invoke(update_rubyenv, flavour=flavour)
+    ctx.invoke(update_gitaly)
+    ctx.invoke(update_gitlab_shell)
+    ctx.invoke(update_gitlab_workhorse)
+
+
+if __name__ == '__main__':
+    cli()
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index a37b4b7b05c0..bc45d8bb7528 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, itstool, python3Packages, intltool, wrapGAppsHook
-, libxml2, gobjectIntrospection, gtk3, gnome3, cairo, file
+, libxml2, gobject-introspection, gtk3, gnome3, cairo, file
 }:
 
 
 let
   pname = "meld";
-  version = "3.18.2";
+  version = "3.18.3";
   inherit (python3Packages) python buildPythonApplication pycairo pygobject3;
 in buildPythonApplication rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "109px6phfizi2jqrc7d7k7j6nvmanbfp5lykqfrk2sky77sand0r";
+    sha256 = "0vn1qx60f8113x8wh7f4bflhzir1vx7p0wdfi7nbip6fh8gaf3ln";
   };
 
   buildInputs = [
@@ -20,7 +20,7 @@ in buildPythonApplication rec {
     gnome3.gtksourceview gnome3.gsettings-desktop-schemas pycairo cairo
     gnome3.defaultIconTheme gnome3.dconf file
   ];
-  propagatedBuildInputs = [ gobjectIntrospection pygobject3 gtk3 ];
+  propagatedBuildInputs = [ gobject-introspection pygobject3 gtk3 ];
 
   installPhase = ''
     mkdir -p "$out/lib/${python.libPrefix}/site-packages"
diff --git a/pkgs/applications/version-management/monotone-viz/default.nix b/pkgs/applications/version-management/monotone-viz/default.nix
index c24d80e3f2ef..3c052a26cdee 100644
--- a/pkgs/applications/version-management/monotone-viz/default.nix
+++ b/pkgs/applications/version-management/monotone-viz/default.nix
@@ -22,15 +22,15 @@ stdenv.mkDerivation rec {
   patchFlags = ["-p0"];
   patches = [
     (fetchurl {
-      url = "http://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-dot.patch";
+      url = "https://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-dot.patch";
       sha256 = "0risfy8iqmkr209hmnvpv57ywbd3rvchzzd0jy2lfyqrrrm6zknw";
     })
     (fetchurl {
-      url = "http://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-new-stdio.patch";
+      url = "https://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-new-stdio.patch";
       sha256 = "16bj0ppzqd45an154dr7sifjra7lv4m9anxfw3c56y763jq7fafa";
     })
     (fetchurl {
-      url = "http://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-typefix.patch";
+      url = "https://src.fedoraproject.org/cgit/rpms/monotone-viz.git/plain/monotone-viz-1.0.2-typefix.patch";
       sha256 = "1gfp82rc7pawb5x4hh2wf7xh1l1l54ib75930xgd1y437la4703r";
     })
   ];
diff --git a/pkgs/applications/video/gnomecast/default.nix b/pkgs/applications/video/gnomecast/default.nix
index 74ae6faec902..d840f43163cf 100644
--- a/pkgs/applications/video/gnomecast/default.nix
+++ b/pkgs/applications/video/gnomecast/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, gtk3, gobjectIntrospection, ffmpeg, wrapGAppsHook }:
+{ lib, python3Packages, gtk3, gobject-introspection, ffmpeg, wrapGAppsHook }:
 
 with python3Packages;
 buildPythonApplication rec {
@@ -13,7 +13,7 @@ buildPythonApplication rec {
   nativeBuildInputs = [ wrapGAppsHook ];
   propagatedBuildInputs = [
     PyChromecast bottle pycaption paste html5lib pygobject3 dbus-python
-    gtk3 gobjectIntrospection
+    gtk3 gobject-introspection
   ];
 
   preFixup = ''
diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix
index 9ffd62d068ae..9d549c2aecc3 100644
--- a/pkgs/applications/video/kazam/default.nix
+++ b/pkgs/applications/video/kazam/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, substituteAll, python3, gst_all_1, wrapGAppsHook, gobjectIntrospection
+{ stdenv, fetchurl, substituteAll, python3, gst_all_1, wrapGAppsHook, gobject-introspection
 , gtk3, libwnck3, keybinder3, intltool, libcanberra-gtk3, libappindicator-gtk3, libpulseaudio }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -11,7 +11,7 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "1qygnrvm6aqixbyivhssp70hs0llxwk7lh3j7idxa2jbkk06hj4f";
   };
 
-  nativeBuildInputs = [ gobjectIntrospection python3.pkgs.distutils_extra intltool wrapGAppsHook ];
+  nativeBuildInputs = [ gobject-introspection python3.pkgs.distutils_extra intltool wrapGAppsHook ];
   buildInputs = [
     gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gtk3 libwnck3
     keybinder3 libappindicator-gtk3
diff --git a/pkgs/applications/video/mpv/scripts/mpris.nix b/pkgs/applications/video/mpv/scripts/mpris.nix
index c72714598d6a..778dc52d96a1 100644
--- a/pkgs/applications/video/mpv/scripts/mpris.nix
+++ b/pkgs/applications/video/mpv/scripts/mpris.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, gobjectIntrospection, mpv }:
+{ stdenv, fetchFromGitHub, pkgconfig, gobject-introspection, mpv }:
 
 stdenv.mkDerivation rec {
   name = "mpv-mpris-${version}.so";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ gobjectIntrospection mpv ];
+  buildInputs = [ gobject-introspection mpv ];
 
   installPhase = ''
     cp mpris.so $out
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index d1849e2b4b35..0905ef5481bb 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -4,13 +4,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "openshot-qt-${version}";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "openshot-qt";
     rev = "v${version}";
-    sha256 = "0m4fq9vj8gc5ngk8qf6ikj85qgzxhfk7nnz7n7362dzlfymaz18q";
+    sha256 = "1qdw1mli4y9qhrnllnkaf6ydgw5vfvdb90chs4i679k0x0jyb9a2";
   };
 
   nativeBuildInputs = [ doxygen wrapGAppsHook ];
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index 57ee1cf12750..bce8e3981d13 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -1,25 +1,26 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, python3, wrapGAppsHook
-, python3Packages, gst, gtk3
-, gobjectIntrospection, librsvg, gnome3, libnotify
+{ stdenv, fetchFromGitHub, fetchurl, pkgconfig, intltool, itstool, python3, wrapGAppsHook
+, python3Packages, gst_all_1, gtk3
+, gobject-introspection, librsvg, gnome3, libnotify
 , meson, ninja
 }:
 
 let
-  version = "0.99";
+  version = "0.999";
 
   # gst-transcoder will eventually be merged with gstreamer (according to
   # gst-transcoder 1.8.0 release notes). For now the only user is pitivi so we
   # don't bother exposing the package to all of nixpkgs.
   gst-transcoder = stdenv.mkDerivation rec {
-    version = "1.12.2";
+    version = "1.14.1";
     name = "gst-transcoder-${version}";
-    src = fetchurl {
-      name = "${name}.tar.gz";
-      url = "https://github.com/pitivi/gst-transcoder/archive/${version}.tar.gz";
-      sha256 = "0cnwmrsd321s02ff91m3j27ydj7f8wks0jvmp5admlhka6z7zxm9";
+    src = fetchFromGitHub {
+      owner = "pitivi";
+      repo = "gst-transcoder";
+      rev = version;
+      sha256 = "16skiz9akavssii529v9nr8zd54w43livc14khdyzv164djg9q8f";
     };
-    nativeBuildInputs = [ pkgconfig meson ninja gobjectIntrospection ];
-    buildInputs = with gst; [ gstreamer gst-plugins-base ];
+    nativeBuildInputs = [ pkgconfig meson ninja gobject-introspection python3 ];
+    buildInputs = with gst_all_1; [ gstreamer gst-plugins-base ];
   };
 
 in python3Packages.buildPythonApplication rec {
@@ -27,7 +28,7 @@ in python3Packages.buildPythonApplication rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/pitivi/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0z4gvcr0cvyz2by47f36nqf7x2kfv9wn382w9glhs7l0d7b2zl69";
+    sha256 = "0mxp2p4gg976fp1vj3rb5rmpl5mqfzncm9vw2719irl32f1qlvyb";
   };
 
   format = "other";
@@ -46,11 +47,11 @@ in python3Packages.buildPythonApplication rec {
   nativeBuildInputs = [ meson ninja pkgconfig intltool itstool python3 wrapGAppsHook ];
 
   buildInputs = [
-    gobjectIntrospection gtk3 librsvg gnome3.gnome-desktop gnome3.gsound
+    gobject-introspection gtk3 librsvg gnome3.gnome-desktop gnome3.gsound
     gnome3.defaultIconTheme
     gnome3.gsettings-desktop-schemas libnotify
     gst-transcoder
-  ] ++ (with gst; [
+  ] ++ (with gst_all_1; [
     gstreamer gst-editing-services
     gst-plugins-base (gst-plugins-good.override { gtkSupport = true; })
     gst-plugins-bad gst-plugins-ugly gst-libav gst-validate
diff --git a/pkgs/applications/video/pyca/default.nix b/pkgs/applications/video/pyca/default.nix
new file mode 100644
index 000000000000..af9ef4c1cd50
--- /dev/null
+++ b/pkgs/applications/video/pyca/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonApplication, fetchFromGitHub, pycurl, dateutil, configobj, sqlalchemy, sdnotify, flask }:
+
+buildPythonApplication rec {
+  pname = "pyca";
+  version = "2.1";
+
+  src = fetchFromGitHub {
+    owner = "opencast";
+    repo = "pyCA";
+    rev = "v${version}";
+    sha256 = "0cvkmdlcax9da9iw4ls73vw0pxvm8wvchab5gwdy9w9ibqdpcmwh";
+  };
+
+  propagatedBuildInputs = [
+    pycurl
+    dateutil
+    configobj
+    sqlalchemy
+    sdnotify
+    flask
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A fully functional Opencast capture agent written in Python";
+    homepage = https://github.com/opencast/pyCA;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ pmiddend ];
+  };
+}
+
diff --git a/pkgs/applications/virtualization/driver/win-spice/default.nix b/pkgs/applications/virtualization/driver/win-spice/default.nix
index 19a28410d5c6..2b2d8568a5b7 100644
--- a/pkgs/applications/virtualization/driver/win-spice/default.nix
+++ b/pkgs/applications/virtualization/driver/win-spice/default.nix
@@ -2,27 +2,27 @@
 
 let
   src_usbdk_x86 = fetchurl {
-    url = "http://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.4_x86.msi";
+    url = "https://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.4_x86.msi";
     sha256 = "17hv8034wk1xqnanm5jxs4741nl7asps1fdz6lhnrpp6gvj6yg9y";
   };
 
   src_usbdk_amd64 = fetchurl {
-    url = "http://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.4_x64.msi";
+    url = "https://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.4_x64.msi";
     sha256 = "0alcqsivp33pm8sy0lmkvq7m5yh6mmcmxdl39zjxjra67kw8r2sd";
   };
 
   src_qxlwddm = fetchurl {
-    url = "http://people.redhat.com/~vrozenfe/qxlwddm/qxlwddm-0.11.zip";
+    url = "https://people.redhat.com/~vrozenfe/qxlwddm/qxlwddm-0.11.zip";
     sha256 = "082zdpbh9i3bq2ds8g33rcbcw390jsm7cqf46rrlx02x8r03dm98";
   };
 
   src_vdagent_x86 = fetchurl {
-    url = "http://www.spice-space.org/download/windows/vdagent/vdagent-win-0.7.3/vdagent_0_7_3_x86.zip";
+    url = "https://www.spice-space.org/download/windows/vdagent/vdagent-win-0.7.3/vdagent_0_7_3_x86.zip";
     sha256 = "0d928g49rf4dl79jmvnqh6g864hp1flw1f0384sfp82himm3bxjs";
   };
 
   src_vdagent_amd64 = fetchurl {
-    url = "http://www.spice-space.org/download/windows/vdagent/vdagent-win-0.7.3/vdagent_0_7_3_x64.zip";
+    url = "https://www.spice-space.org/download/windows/vdagent/vdagent-win-0.7.3/vdagent_0_7_3_x64.zip";
     sha256 = "0djmvm66jcmcyhhbjppccbai45nqpva7vyvry6w8nyc0fwi1vm9l";
   };
 in
@@ -61,8 +61,9 @@ stdenv.mkDerivation  {
       (copy "amd64" "w8.1") + (copy "x86" "w8.1");
 
   meta = with stdenv.lib; {
-    description = ''Windows SPICE Drivers'';
-    homepage = http://www.spice-space.org;
+    description = "Windows SPICE Drivers";
+    homepage = https://www.spice-space.org/;
+    license = [ licenses.asl20 ]; # See https://github.com/vrozenfe/qxl-dod
     maintainers = [ maintainers.tstrobel ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index 49df39040db3..a43e1733f063 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "open-vm-tools-${version}";
-  version = "10.3.0";
+  version = "10.3.5";
 
   src = fetchFromGitHub {
     owner  = "vmware";
     repo   = "open-vm-tools";
     rev    = "stable-${version}";
-    sha256 = "0arx4yd8c5qszfgw8rqyi65j37r46dxibmzqqxb096isxhxjymw6";
+    sha256 = "10x24gkqcg9lnfxghq92nr76h40s5v3xrv0ymi9c7aqrqry404z7";
   };
 
   sourceRoot = "${src.name}/open-vm-tools";
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index d9495bd984ef..ea330d595557 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -18,6 +18,10 @@
 , virglSupport ? openGLSupport, virglrenderer
 , smbdSupport ? false, samba
 , hostCpuOnly ? false
+, hostCpuTargets ? (if hostCpuOnly
+                    then (stdenv.lib.optional stdenv.isx86_64 "i386-softmmu"
+                          ++ ["${stdenv.hostPlatform.qemuArch}-softmmu"])
+                    else null)
 , nixosTestRunner ? false
 }:
 
@@ -27,11 +31,6 @@ let
     + optionalString pulseSupport "pa,"
     + optionalString sdlSupport "sdl,";
 
-  hostCpuTargets = if stdenv.isx86_64 then "i386-softmmu,x86_64-softmmu"
-                   else if stdenv.isi686 then "i386-softmmu"
-                   else if stdenv.isAarch32 then "arm-softmmu"
-                   else if stdenv.isAarch64 then "aarch64-softmmu"
-                   else throw "Don't know how to build a 'hostCpuOnly = true' QEMU";
 in
 
 stdenv.mkDerivation rec {
@@ -113,7 +112,7 @@ stdenv.mkDerivation rec {
     ++ optional smartcardSupport "--enable-smartcard"
     ++ optional spiceSupport "--enable-spice"
     ++ optional usbredirSupport "--enable-usb-redir"
-    ++ optional hostCpuOnly "--target-list=${hostCpuTargets}"
+    ++ optional (hostCpuTargets != null) "--target-list=${stdenv.lib.concatStringsSep "," hostCpuTargets}"
     ++ optional stdenv.isDarwin "--enable-cocoa"
     ++ optional stdenv.isLinux "--enable-linux-aio"
     ++ optional gtkSupport "--enable-gtk"
@@ -135,12 +134,13 @@ stdenv.mkDerivation rec {
     '';
 
   # Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
-  postInstall =
-    if stdenv.isx86_64       then ''makeWrapper $out/bin/qemu-system-x86_64  $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
-    else if stdenv.isi686    then ''makeWrapper $out/bin/qemu-system-i386    $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
-    else if stdenv.isAarch32 then ''makeWrapper $out/bin/qemu-system-arm     $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
-    else if stdenv.isAarch64 then ''makeWrapper $out/bin/qemu-system-aarch64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
-    else "";
+  postInstall = ''
+    if [ -x $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} ]; then
+      makeWrapper $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} \
+                  $out/bin/qemu-kvm \
+                  --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"
+    fi
+  '';
 
   passthru = {
     qemu-system-i386 = "bin/qemu-system-i386";
diff --git a/pkgs/applications/virtualization/spice-vdagent/default.nix b/pkgs/applications/virtualization/spice-vdagent/default.nix
index b12e7bd5f470..70ae09aa6ef8 100644
--- a/pkgs/applications/virtualization/spice-vdagent/default.nix
+++ b/pkgs/applications/virtualization/spice-vdagent/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
          to the client resolution
        * Multiple displays
     '';
-    homepage = http://www.spice-space.org/home.html;
+    homepage = https://www.spice-space.org/;
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.aboseley ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index f2cbe75b8690..52732f0c5f10 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, python3Packages, intltool, file
 , wrapGAppsHook, gtk-vnc, vte, avahi, dconf
-, gobjectIntrospection, libvirt-glib, system-libvirt
+, gobject-introspection, libvirt-glib, system-libvirt
 , gsettings-desktop-schemas, glib, libosinfo, gnome3, gtk3
 , spiceSupport ? true, spice-gtk ? null
 , cpio, e2fsprogs, findutils, gzip
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
 
   nativeBuildInputs = [
     wrapGAppsHook intltool file
-    gobjectIntrospection # for setup hook populating GI_TYPELIB_PATH
+    gobject-introspection # for setup hook populating GI_TYPELIB_PATH
   ];
 
   buildInputs =
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index c23284d0b527..8823daaa6d90 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, luaPackages, cairo, librsvg, cmake, imagemagick, pkgconfig, gdk_pixbuf
 , xorg, libstartup_notification, libxdg_basedir, libpthreadstubs
-, xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
+, xcb-util-cursor, makeWrapper, pango, gobject-introspection, unclutter
 , compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
 , which, dbus, nettools, git, asciidoc, doxygen
 , xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
@@ -30,7 +30,7 @@ with luaPackages; stdenv.mkDerivation rec {
   ];
 
   propagatedUserEnvPkgs = [ hicolor-icon-theme ];
-  buildInputs = [ cairo librsvg dbus gdk_pixbuf gobjectIntrospection
+  buildInputs = [ cairo librsvg dbus gdk_pixbuf gobject-introspection
                   git lgi libpthreadstubs libstartup_notification
                   libxdg_basedir lua nettools pango xcb-util-cursor
                   xorg.libXau xorg.libXdmcp xorg.libxcb xorg.libxshmfence
diff --git a/pkgs/applications/window-managers/dwm/dwm-status.nix b/pkgs/applications/window-managers/dwm/dwm-status.nix
index 028bb8c87ee8..16a67030736d 100644
--- a/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/pkgs/applications/window-managers/dwm/dwm-status.nix
@@ -3,13 +3,13 @@
 
 rustPlatform.buildRustPackage rec {
   name = "dwm-status-${version}";
-  version = "1.2.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "Gerschtli";
     repo = "dwm-status";
     rev = version;
-    sha256 = "0bv1jkqkf509akg3dvdy8b2q1kh8i75vw4n6a9rjvslx9s9nh6ca";
+    sha256 = "1v9ksv8hdxhpm7vs71p9s1y3gnahczza0w4wyrk2fsc6x2kwlh6x";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
diff --git a/pkgs/applications/window-managers/i3/i3ipc-glib.nix b/pkgs/applications/window-managers/i3/i3ipc-glib.nix
index 87e11774d43b..6f709c999f40 100644
--- a/pkgs/applications/window-managers/i3/i3ipc-glib.nix
+++ b/pkgs/applications/window-managers/i3/i3ipc-glib.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, pkgconfig, xproto, libxcb
 , autoreconfHook, json-glib, gtk-doc, which
-, gobjectIntrospection
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook which pkgconfig ];
 
-  buildInputs = [ libxcb json-glib gtk-doc xproto gobjectIntrospection ];
+  buildInputs = [ libxcb json-glib gtk-doc xproto gobject-introspection ];
 
 
   preAutoreconf = ''
diff --git a/pkgs/applications/window-managers/i3/status.nix b/pkgs/applications/window-managers/i3/status.nix
index ae6d8bd22b74..65180846c649 100644
--- a/pkgs/applications/window-managers/i3/status.nix
+++ b/pkgs/applications/window-managers/i3/status.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, confuse, yajl, alsaLib, libpulseaudio, libnl, pkgconfig
+{ fetchurl, stdenv, libconfuse, yajl, alsaLib, libpulseaudio, libnl, pkgconfig
   }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ confuse yajl alsaLib libpulseaudio libnl ];
+  buildInputs = [ libconfuse yajl alsaLib libpulseaudio libnl ];
 
   makeFlags = [ "all" "PREFIX=$(out)" ];
 
diff --git a/pkgs/applications/window-managers/larswm/default.nix b/pkgs/applications/window-managers/larswm/default.nix
index 21ea00d110e0..4ec1a4bcd059 100644
--- a/pkgs/applications/window-managers/larswm/default.nix
+++ b/pkgs/applications/window-managers/larswm/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, imake, libX11, libXext, libXmu}:
+{ stdenv, fetchurl, imake, gccmakedep, libX11, libXext, libXmu }:
 
 stdenv.mkDerivation {
   name = "larswm-7.5.3";
@@ -8,13 +8,11 @@ stdenv.mkDerivation {
     sha256 = "1xmlx9g1nhklxjrg0wvsya01s4k5b9fphnpl9zdwp29mm484ni3v";
   };
 
-  buildInputs = [ imake libX11 libXext libXmu ];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libX11 libXext libXmu ];
 
-  configurePhase = ''
-    xmkmf
-    makeFlags="BINDIR=$out/bin MANPATH=$out/share/man"
-    installTargets="install install.man"
-  '';
+  makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
+  installTargets = "install install.man";
 
   meta = {
     homepage = http://www.fnurt.net/larswm;
diff --git a/pkgs/applications/window-managers/stalonetray/default.nix b/pkgs/applications/window-managers/stalonetray/default.nix
index 1e6c3b861f1a..75d25a0e43d6 100644
--- a/pkgs/applications/window-managers/stalonetray/default.nix
+++ b/pkgs/applications/window-managers/stalonetray/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/stalonetray/files/";
+      downloadPage = "https://sourceforge.net/projects/stalonetray/files/";
     };
   };
 }
diff --git a/pkgs/applications/window-managers/sway/beta.nix b/pkgs/applications/window-managers/sway/beta.nix
index 5aebb7ed8dd1..fd3e2275b442 100644
--- a/pkgs/applications/window-managers/sway/beta.nix
+++ b/pkgs/applications/window-managers/sway/beta.nix
@@ -10,13 +10,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "sway";
-  version = "1.0-beta.1";
+  version = "1.0-beta.2";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "0h9kgrg9mh2acks63z72bw3lwff32pf2nb4i7i5xhd9i6l4gfnqa";
+    sha256 = "0f9rniwizbc3vzxdy6rc47749p6gczfbgfdy4r458134rbl551hw";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
index 7e49e9e78d78..0e9e36bc3014 100644
--- a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
+++ b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
@@ -19,7 +19,7 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 
-const gchar *bind_blacklist[] = {"bin", "etc", "host", "usr", NULL};
+const gchar *bind_blacklist[] = {"bin", "etc", "host", "usr", "lib", "lib64", "lib32", "sbin", NULL};
 
 void bind_mount(const gchar *source, const gchar *target) {
   fail_if(g_mkdir(target, 0755));
diff --git a/pkgs/build-support/build-maven.nix b/pkgs/build-support/build-maven.nix
index b9da06c43c82..f47e3ebc61c2 100644
--- a/pkgs/build-support/build-maven.nix
+++ b/pkgs/build-support/build-maven.nix
@@ -15,16 +15,15 @@ infoFile: let
 
   script = writeText "build-maven-repository.sh" ''
     ${lib.concatStrings (map (dep: let
-      inherit (dep)
-        url sha1 groupId artifactId
-        version metadata repository-id;
+      inherit (dep) sha1 groupId artifactId version metadata repository-id;
 
       versionDir = dep.unresolved-version or version;
       authenticated = dep.authenticated or false;
+      url = dep.url or "";
 
-      fetch = (if authenticated then requireFile else fetchurl) {
+      fetch = if (url != "") then ((if authenticated then requireFile else fetchurl) {
         inherit url sha1;
-      };
+      }) else "";
 
       fetchMetadata = (if authenticated then requireFile else fetchurl) {
         inherit (metadata) url sha1;
@@ -32,10 +31,15 @@ infoFile: let
     in ''
       dir=$out/$(echo ${groupId} | sed 's|\.|/|g')/${artifactId}/${versionDir}
       mkdir -p $dir
-      ln -sv ${fetch} $dir/${fetch.name}
+
+      ${lib.optionalString (fetch != "") ''
+        ln -sv ${fetch} $dir/${fetch.name}
+      ''}
       ${lib.optionalString (dep ? metadata) ''
         ln -svf ${fetchMetadata} $dir/maven-metadata-${repository-id}.xml
-        ln -sv ${fetch} $dir/$(echo ${fetch.name} | sed 's|${version}|${dep.unresolved-version}|')
+        ${lib.optionalString (fetch != "") ''
+          ln -sv ${fetch} $dir/$(echo ${fetch.name} | sed 's|${version}|${dep.unresolved-version}|')
+        ''}
       ''}
     '') info.dependencies)}
   '';
diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix
index 2ee99ce973ef..96e61bbf90e5 100644
--- a/pkgs/build-support/emacs/melpa.nix
+++ b/pkgs/build-support/emacs/melpa.nix
@@ -35,11 +35,11 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
     then pname
     else ename;
 
-  melpa = fetchFromGitHub {
+  packageBuild = fetchFromGitHub {
     owner = "melpa";
-    repo = "melpa";
-    rev = "7103313a7c31bb1ebb71419e365cd2e279ee4609";
-    sha256 = "0m10f83ix0mzjk0vjd4kkb1m1p4b8ha0ll2yjsgk9bqjd7fwapqb";
+    repo = "package-build";
+    rev = "0a22c3fbbf661822ec1791739953b937a12fa623";
+    sha256 = "0dpy5p34il600sc8ic5jdgb3glya9si3lrvhxab0swks8fdydjgs";
   };
 
   elpa2nix = ./elpa2nix.el;
@@ -51,7 +51,7 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
       cp "$recipe" "$NIX_BUILD_TOP/recipes/$ename"
     fi
 
-    ln -s "$melpa/package-build" "$NIX_BUILD_TOP/package-build"
+    ln -s "$packageBuild" "$NIX_BUILD_TOP/package-build"
 
     mkdir -p "$NIX_BUILD_TOP/packages"
   '';
@@ -61,19 +61,18 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
     ln -s "$NIX_BUILD_TOP/$sourceRoot" "$NIX_BUILD_TOP/working/$ename"
   '';
 
-  buildPhase =
-    ''
-      runHook preBuild
+  buildPhase = ''
+    runHook preBuild
 
-      cd "$NIX_BUILD_TOP"
+    cd "$NIX_BUILD_TOP"
 
-      emacs --batch -Q \
-          -L "$melpa/package-build" \
-          -l "$melpa2nix" \
-          -f melpa2nix-build-package \
-          $ename $version
+    emacs --batch -Q \
+        -L "$NIX_BUILD_TOP/package-build" \
+        -l "$melpa2nix" \
+        -f melpa2nix-build-package \
+        $ename $version
 
-      runHook postBuild
+    runHook postBuild
     '';
 
   installPhase = ''
diff --git a/pkgs/build-support/emacs/trivial.nix b/pkgs/build-support/emacs/trivial.nix
index 98463c56ba96..396c971b2f01 100644
--- a/pkgs/build-support/emacs/trivial.nix
+++ b/pkgs/build-support/emacs/trivial.nix
@@ -7,27 +7,22 @@ with lib;
 args:
 
 import ./generic.nix envargs ({
-  #preConfigure = ''
-  #  export LISPDIR=$out/share/emacs/site-lisp
-  #  export VERSION_SPECIFIC_LISPDIR=$out/share/emacs/site-lisp
-  #'';
-
   buildPhase = ''
-    eval "$preBuild"
+    runHook preBuild
 
     emacs -L . --batch -f batch-byte-compile *.el
 
-    eval "$postBuild"
+    runHook postBuild
   '';
 
   installPhase = ''
-    eval "$preInstall"
+    runHook preInstall
 
     LISPDIR=$out/share/emacs/site-lisp
     install -d $LISPDIR
     install *.el *.elc $LISPDIR
 
-    eval "$postInstall"
+    runHook postInstall
   '';
 }
 
diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix
index 7386b07f575c..4d6ed76aca01 100644
--- a/pkgs/build-support/ocaml/dune.nix
+++ b/pkgs/build-support/ocaml/dune.nix
@@ -25,12 +25,12 @@ stdenv.mkDerivation ({
     runHook postInstall
   '';
 
-  meta.platform = ocaml.meta.platform;
-
 } // args // {
 
   name = "ocaml${ocaml.version}-${pname}-${version}";
 
   buildInputs = [ ocaml dune findlib ] ++ buildInputs;
 
+  meta = (args.meta or {}) // { platforms = args.meta.platforms or ocaml.meta.platforms; };
+
 })
diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh
index d1ae317ff9a4..5bedd1a9f9ca 100644
--- a/pkgs/build-support/setup-hooks/auto-patchelf.sh
+++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh
@@ -147,15 +147,56 @@ autoPatchelfFile() {
     fi
 }
 
+# Can be used to manually add additional directories with shared object files
+# to be included for the next autoPatchelf invocation.
+addAutoPatchelfSearchPath() {
+    local -a findOpts=()
+
+    # XXX: Somewhat similar to the one in the autoPatchelf function, maybe make
+    #      it DRY someday...
+    while [ $# -gt 0 ]; do
+        case "$1" in
+            --) shift; break;;
+            --no-recurse) shift; findOpts+=("-maxdepth" 1);;
+            --*)
+                echo "addAutoPatchelfSearchPath: ERROR: Invalid command line" \
+                     "argument: $1" >&2
+                return 1;;
+            *) break;;
+        esac
+    done
+
+    cachedDependencies+=(
+        $(find "$@" "${findOpts[@]}" \! -type d \
+               \( -name '*.so' -o -name '*.so.*' \))
+    )
+}
+
 autoPatchelf() {
+    local norecurse=
+
+    while [ $# -gt 0 ]; do
+        case "$1" in
+            --) shift; break;;
+            --no-recurse) shift; norecurse=1;;
+            --*)
+                echo "autoPatchelf: ERROR: Invalid command line" \
+                     "argument: $1" >&2
+                return 1;;
+            *) break;;
+        esac
+    done
+
+    if [ $# -eq 0 ]; then
+        echo "autoPatchelf: No paths to patch specified." >&2
+        return 1
+    fi
+
     echo "automatically fixing dependencies for ELF files" >&2
 
     # Add all shared objects of the current output path to the start of
     # cachedDependencies so that it's choosen first in findDependency.
-    cachedDependencies+=(
-        $(find "$prefix" \! -type d \( -name '*.so' -o -name '*.so.*' \))
-    )
-    local elffile
+    addAutoPatchelfSearchPath ${norecurse:+--no-recurse} -- "$@"
 
     # Here we actually have a subshell, which also means that
     # $cachedDependencies is final at this point, so whenever we want to run
@@ -164,12 +205,15 @@ autoPatchelf() {
     # outside of this function.
     while IFS= read -r -d $'\0' file; do
       isELF "$file" || continue
+      segmentHeaders="$(LANG=C readelf -l "$file")"
+      # Skip if the ELF file doesn't have segment headers (eg. object files).
+      echo "$segmentHeaders" | grep -q '^Program Headers:' || continue
       if isExecutable "$file"; then
           # Skip if the executable is statically linked.
-          LANG=C readelf -l "$file" | grep -q "^ *INTERP\\>" || continue
+          echo "$segmentHeaders" | grep -q "^ *INTERP\\>" || continue
       fi
       autoPatchelfFile "$file"
-    done < <(find "$prefix" -type f -print0)
+    done < <(find "$@" ${norecurse:+-maxdepth 1} -type f -print0)
 }
 
 # XXX: This should ultimately use fixupOutputHooks but we currently don't have
@@ -180,6 +224,11 @@ autoPatchelf() {
 # So what we do here is basically run in postFixup and emulate the same
 # behaviour as fixupOutputHooks because the setup hook for patchelf is run in
 # fixupOutput and the postFixup hook runs later.
-postFixupHooks+=(
-    'for output in $outputs; do prefix="${!output}" autoPatchelf; done'
-)
+postFixupHooks+=('
+    if [ -z "$dontAutoPatchelf" ]; then
+        autoPatchelf -- $(for output in $outputs; do
+            [ -e "${!output}" ] || continue
+            echo "${!output}"
+        done)
+    fi
+')
diff --git a/pkgs/build-support/setup-hooks/set-source-date-epoch-to-latest.sh b/pkgs/build-support/setup-hooks/set-source-date-epoch-to-latest.sh
index 84e40cd0514f..ae34ffec4854 100644
--- a/pkgs/build-support/setup-hooks/set-source-date-epoch-to-latest.sh
+++ b/pkgs/build-support/setup-hooks/set-source-date-epoch-to-latest.sh
@@ -10,7 +10,7 @@ updateSourceDateEpoch() {
     local newestFile="${res[1]}"
 
     # Update $SOURCE_DATE_EPOCH if the most recent file we found is newer.
-    if [ "$time" -gt "$SOURCE_DATE_EPOCH" ]; then
+    if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then
         echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile"
         export SOURCE_DATE_EPOCH="$time"
 
diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix
new file mode 100644
index 000000000000..8aa3e52f5e8b
--- /dev/null
+++ b/pkgs/build-support/writers/default.nix
@@ -0,0 +1,239 @@
+{ pkgs, lib }:
+
+with lib;
+rec {
+  # Base implementation for non-compiled executables.
+  # Takes an interpreter, for example `${pkgs.bash}/bin/bash`
+  #
+  # Examples:
+  #   writeBash = makeScriptWriter { interpreter = "${pkgs.bash}/bin/bash"; }
+  #   makeScriptWriter { interpreter = "${pkgs.dash}/bin/dash"; } "hello" "echo hello world"
+  makeScriptWriter = { interpreter, check ? "" }: name: text:
+    assert lib.or (types.path.check name) (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" name != null);
+
+    pkgs.writeTextFile {
+      name = last (builtins.split "/" name);
+      executable = true;
+      destination = if types.path.check name then name else "";
+      text = ''
+        #! ${interpreter}
+        ${text}
+        '';
+      checkPhase = check;
+    };
+
+  # Like writeScript but the first line is a shebang to bash
+  #
+  # Example:
+  #   writeBash "example" ''
+  #     echo hello world
+  #   ''
+  writeBash = makeScriptWriter {
+    interpreter = "${pkgs.bash}/bin/bash";
+  };
+
+  # Like writeScriptBIn but the first line is a shebang to bash
+  writeBashBin = name:
+    writeBash "/bin/${name}";
+
+  # writeC writes an executable c package called `name` to `destination` using `libraries`.
+  #
+  #  Examples:
+  #    writeC "hello-world-ncurses" { libraries = [ pkgs.ncurses ]; } ''
+  #      #include <ncurses.h>
+  #      int main() {
+  #        initscr();
+  #        printw("Hello World !!!");
+  #        refresh(); endwin();
+  #        return 0;
+  #      }
+  #    ''
+  writeC = name: {
+    libraries ? [],
+  }: text: pkgs.runCommand name {
+    inherit text;
+    buildInputs = [ pkgs.pkgconfig ] ++ libraries;
+    passAsFile = [ "text" ];
+  } ''
+    PATH=${makeBinPath [
+      pkgs.binutils-unwrapped
+      pkgs.coreutils
+      pkgs.gcc
+      pkgs.pkgconfig
+    ]}
+    mkdir -p "$(dirname "$out")"
+    gcc \
+        ${optionalString (libraries != [])
+          "$(pkg-config --cflags --libs ${
+            concatMapStringsSep " " (lib: escapeShellArg (builtins.parseDrvName lib.name).name) (libraries)
+          })"
+        } \
+        -O \
+        -o "$out" \
+        -Wall \
+        -x c \
+        "$textPath"
+    strip --strip-unneeded "$out"
+  '';
+
+  # writeCBin takes the same arguments as writeC but outputs a directory (like writeScriptBin)
+  writeCBin = name: spec: text:
+    pkgs.runCommand name {
+    } ''
+      mkdir -p $out/bin
+      ln -s ${writeC name spec text} $out/bin/${name}
+    '';
+
+  # Like writeScript but the first line is a shebang to dash
+  #
+  # Example:
+  #   writeDash "example" ''
+  #     echo hello world
+  #   ''
+  writeDash = makeScriptWriter {
+    interpreter = "${pkgs.dash}/bin/dash";
+  };
+
+  # Like writeScriptBin but the first line is a shebang to dash
+  writeDashBin = name:
+    writeDash "/bin/${name}";
+
+  # writeHaskell takes a name, an attrset with libraries and haskell version (both optional)
+  # and some haskell source code and returns an executable.
+  #
+  # Example:
+  #   writeHaskell "missiles" { libraries = [ pkgs.haskellPackages.acme-missiles ]; } ''
+  #     Import Acme.Missiles
+  #
+  #     main = launchMissiles
+  #   '';
+  writeHaskell = name: {
+    libraries ? [],
+    ghc ? pkgs.ghc
+  }: text: pkgs.runCommand name {
+    inherit text;
+    passAsFile = [ "text" ];
+  } ''
+    cp $textPath ${name}.hs
+    ${ghc.withPackages (_: libraries )}/bin/ghc ${name}.hs
+    cp ${name} $out
+  '';
+
+  # writeHaskellBin takes the same arguments as writeHaskell but outputs a directory (like writeScriptBin)
+  writeHaskellBin = name: spec: text:
+    pkgs.runCommand name {
+    } ''
+      mkdir -p $out/bin
+      ln -s ${writeHaskell name spec text} $out/bin/${name}
+    '';
+
+  # writeJS takes a name an attributeset with libraries and some JavaScript sourcecode and
+  # returns an executable
+  #
+  # Example:
+  #   writeJS "example" { libraries = [ pkgs.nodePackages.uglify-js ]; } ''
+  #     var UglifyJS = require("uglify-js");
+  #     var code = "function add(first, second) { return first + second; }";
+  #     var result = UglifyJS.minify(code);
+  #     console.log(result.code);
+  #   ''
+  writeJS = name: { libraries ? [] }: text:
+  let
+    node-env = pkgs.buildEnv {
+      name = "node";
+      paths = libraries;
+      pathsToLink = [
+        "/lib/node_modules"
+      ];
+    };
+  in writeDash name ''
+    export NODE_PATH=${node-env}/lib/node_modules
+    exec ${pkgs.nodejs}/bin/node ${pkgs.writeText "js" text}
+  '';
+
+  # writeJSBin takes the same arguments as writeJS but outputs a directory (like writeScriptBin)
+  writeJSBin = name:
+    writeJS "/bin/${name}";
+
+  # writePerl takes a name an attributeset with libraries and some perl sourcecode and
+  # returns an executable
+  #
+  # Example:
+  #   writePerl "example" { libraries = [ pkgs.perlPackages.boolean ]; } ''
+  #     use boolean;
+  #     print "Howdy!\n" if true;
+  #   ''
+  writePerl = name: { libraries ? [] }:
+  let
+    perl-env = pkgs.buildEnv {
+      name = "perl-environment";
+      paths = libraries;
+      pathsToLink = [
+        "/lib/perl5/site_perl"
+      ];
+    };
+  in
+  makeScriptWriter {
+    interpreter = "${pkgs.perl}/bin/perl -I ${perl-env}/lib/perl5/site_perl";
+  } name;
+
+  # writePerlBin takes the same arguments as writePerl but outputs a directory (like writeScriptBin)
+  writePerlBin = name:
+    writePerl "/bin/${name}";
+
+  # writePython2 takes a name an attributeset with libraries and some python2 sourcecode and
+  # returns an executable
+  #
+  # Example:
+  # writePython2 "test_python2" { libraries = [ pkgs.python2Packages.enum ]; } ''
+  #   from enum import Enum
+  #
+  #   class Test(Enum):
+  #       a = "success"
+  #
+  #   print Test.a
+  # ''
+  writePython2 = name: { libraries ? [], flakeIgnore ? [] }:
+  let
+    py = pkgs.python2.withPackages (ps: libraries);
+    ignoreAttribute = optionalString (flakeIgnore != []) "--ignore ${concatMapStringsSep "," escapeShellArg flakeIgnore}";
+  in
+  makeScriptWriter {
+    interpreter = "${py}/bin/python";
+    check = writeDash "python2check.sh" ''
+      exec ${pkgs.python2Packages.flake8}/bin/flake8 --show-source ${ignoreAttribute} "$1"
+    '';
+  } name;
+
+  # writePython2Bin takes the same arguments as writePython2 but outputs a directory (like writeScriptBin)
+  writePython2Bin = name:
+    writePython2 "/bin/${name}";
+
+  # writePython3 takes a name an attributeset with libraries and some python3 sourcecode and
+  # returns an executable
+  #
+  # Example:
+  # writePython3 "test_python3" { libraries = [ pkgs.python3Packages.pyyaml ]; } ''
+  #   import yaml
+  #
+  #   y = yaml.load("""
+  #     - test: success
+  #   """)
+  #   print(y[0]['test'])
+  # ''
+  writePython3 = name: { libraries ? [], flakeIgnore ? [] }:
+  let
+    py = pkgs.python3.withPackages (ps: libraries);
+    ignoreAttribute = optionalString (flakeIgnore != []) "--ignore ${concatMapStringsSep "," escapeShellArg flakeIgnore}";
+  in
+  makeScriptWriter {
+    interpreter = "${py}/bin/python";
+    check = writeDash "python3check.sh" ''
+      exec ${pkgs.python3Packages.flake8}/bin/flake8 --show-source ${ignoreAttribute} "$1"
+    '';
+  } name;
+
+  # writePython3Bin takes the same arguments as writePython3 but outputs a directory (like writeScriptBin)
+  writePython3Bin = name:
+    writePython3 "/bin/${name}";
+}
diff --git a/pkgs/build-support/writers/test.nix b/pkgs/build-support/writers/test.nix
new file mode 100644
index 000000000000..68b7b27e6130
--- /dev/null
+++ b/pkgs/build-support/writers/test.nix
@@ -0,0 +1,149 @@
+{ stdenv, lib, runCommand, haskellPackages, nodePackages, perlPackages, python2Packages, python3Packages, writers}:
+with writers;
+let
+
+  bin = {
+    bash = writeBashBin "test_writers" ''
+     if [[ "test" == "test" ]]; then echo "success"; fi
+    '';
+
+    c = writeCBin "test_writers" { libraries = [ ]; } ''
+      #include <stdio.h>
+      int main() {
+        printf("success\n");
+        return 0;
+      }
+    '';
+
+    dash = writeDashBin "test_writers" ''
+     test '~' = '~' && echo 'success'
+    '';
+
+    haskell = writeHaskellBin "test_writers" { libraries = [ haskellPackages.acme-default ]; } ''
+      import Data.Default
+
+      int :: Int
+      int = def
+
+      main :: IO ()
+      main = case int of
+        18871 -> putStrLn $ id "success"
+        _ -> print "fail"
+    '';
+
+    js = writeJSBin "test_writers" { libraries = [ nodePackages.semver ]; } ''
+      var semver = require('semver');
+
+      if (semver.valid('1.2.3')) {
+        console.log('success')
+      } else {
+        console.log('fail')
+      }
+    '';
+
+    perl = writePerlBin "test_writers" { libraries = [ perlPackages.boolean ]; } ''
+      use boolean;
+      print "success\n" if true;
+    '';
+
+    python2 = writePython2Bin "test_writers" { libraries = [ python2Packages.enum ]; } ''
+      from enum import Enum
+
+      class Test(Enum):
+          a = "success"
+
+      print Test.a
+    '';
+
+    python3 = writePython3Bin "test_writers" { libraries = [ python3Packages.pyyaml ]; } ''
+      import yaml
+
+      y = yaml.load("""
+        - test: success
+      """)
+      print(y[0]['test'])
+    '';
+  };
+
+  simple = {
+    bash = writeBash "test_bash" ''
+     if [[ "test" == "test" ]]; then echo "success"; fi
+    '';
+
+    c = writeC "test_c" { libraries = [ ]; } ''
+      #include <stdio.h>
+      int main() {
+        printf("success\n");
+        return 0;
+      }
+    '';
+
+    dash = writeDash "test_dash" ''
+     test '~' = '~' && echo 'success'
+    '';
+
+    haskell = writeHaskell "test_haskell" { libraries = [ haskellPackages.acme-default ]; } ''
+      import Data.Default
+
+      int :: Int
+      int = def
+
+      main :: IO ()
+      main = case int of
+        18871 -> putStrLn $ id "success"
+        _ -> print "fail"
+    '';
+
+    js = writeJS "test_js" { libraries = [ nodePackages.semver ]; } ''
+      var semver = require('semver');
+
+      if (semver.valid('1.2.3')) {
+        console.log('success')
+      } else {
+        console.log('fail')
+      }
+    '';
+
+    perl = writePerl "test_perl" { libraries = [ perlPackages.boolean ]; } ''
+      use boolean;
+      print "success\n" if true;
+    '';
+
+    python2 = writePython2 "test_python2" { libraries = [ python2Packages.enum ]; } ''
+      from enum import Enum
+
+      class Test(Enum):
+          a = "success"
+
+      print Test.a
+    '';
+
+    python3 = writePython3 "test_python3" { libraries = [ python3Packages.pyyaml ]; } ''
+      import yaml
+
+      y = yaml.load("""
+        - test: success
+      """)
+      print(y[0]['test'])
+    '';
+  };
+
+  writeTest = expectedValue: test:
+    writeDash "test-writers" ''
+      if test "$(${test})" != "${expectedValue}"; then
+        echo 'test ${test} failed'
+        exit 1
+      fi
+    '';
+
+in runCommand "test-writers" {
+  passthru = { inherit writeTest bin simple; };
+  meta.platforms = stdenv.lib.platforms.all;
+} ''
+  ${lib.concatMapStringsSep "\n" (test: writeTest "success" "${test}/bin/test_writers") (lib.attrValues bin)}
+  ${lib.concatMapStringsSep "\n" (test: writeTest "success" "${test}") (lib.attrValues simple)}
+
+  echo 'nix-writers successfully tested' >&2
+  touch $out
+''
+
diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix
index 7a0b8559b593..03d2e85d6af9 100644
--- a/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -2,20 +2,26 @@
 
 let
   pname = "cantarell-fonts";
-  version = "0.100";
+  version = "0.110";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1286rx1z7mrmi6snx957fprpcmd5p00l6drdfpbgf6mqapl6kb81";
+    sha256 = "19rll0h4xjn83lqm0zc4088y0vkrx1wxg8jz9imvgd8snmfxfm54";
   };
 
   nativeBuildInputs = [ meson ninja gettext appstream-glib ];
 
+  # ad-hoc fix for https://github.com/NixOS/nixpkgs/issues/50855
+  # until we fix gettext's envHook
+  preBuild = ''
+    export GETTEXTDATADIRS="$GETTEXTDATADIRS_FOR_BUILD"
+  '';
+
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "12ia41pr0rzjfay6y84asw3nxhyp1scq9zl0w4f6wkqj7vf1qfn1";
+  outputHash = "052nxmhw2j8yvcj90r8xhjf0mzim8h6syip7winxb28vavj6jnba";
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index 5d633ccb7ce9..ae8d358164f4 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -86,14 +86,14 @@ rec {
       maintainers = with maintainers; [ mathnerd314 ];
     };
   };
-  noto-fonts-emoji = let version = "2018-04-24-pistol-update"; in stdenv.mkDerivation {
+  noto-fonts-emoji = let version = "2018-08-10-unicode11"; in stdenv.mkDerivation {
     name = "noto-fonts-emoji-${version}";
 
     src = fetchFromGitHub {
       owner = "googlei18n";
       repo = "noto-emoji";
       rev = "v${version}";
-      sha256 = "1f9k182j0619xvwk60gw2hng3lcd483sva2fabjdhznk8yf9f7jg";
+      sha256 = "1y54zsvwf5pqhcd9cl2zz5l52qyswn6kycvrq03zm5kqqsngbw3p";
     };
 
     buildInputs = [ cairo ];
@@ -116,7 +116,7 @@ rec {
       inherit version;
       description = "Color and Black-and-White emoji fonts";
       homepage = https://github.com/googlei18n/noto-emoji;
-      license = licenses.asl20;
+      license = with licenses; [ ofl asl20 ];
       platforms = platforms.all;
       maintainers = with maintainers; [ mathnerd314 ];
     };
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index 32de9798cf99..b8cc43c254a5 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,23 +1,22 @@
 { stdenv, fetchurl, p7zip }:
 
-stdenv.mkDerivation rec {
+let
   version = "0.6.0";
-  name = "sarasa-gothic-${version}";
+  sha256 = "08g3kzplp3v8kvni1vzl73fgh03xgfl8pwqyj7vwjihjdr1xfjyz";
+in fetchurl rec {
+  inherit sha256;
 
-  package = fetchurl {
-    url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttf-${version}.7z";
-    sha256 = "00kyx03lpgycxaw0cyx96hhrx8gwkcmy3qs35q7r09y60vg5i0nv";
-  };
+  name = "sarasa-gothic-${version}";
 
-  nativeBuildInputs = [ p7zip ];
+  url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
 
-  unpackPhase = ''
-    7z x $package
-  '';
+  recursiveHash = true;
+  downloadToTemp = true;
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp *.ttf $out/share/fonts/truetype
+  postFetch = ''
+    ${p7zip}/bin/7z x $downloadedFile
+    mkdir -p $out/share/fonts
+    install -m644 *.ttc $out/share/fonts/
   '';
 
   meta = with stdenv.lib; {
@@ -26,7 +25,5 @@ stdenv.mkDerivation rec {
     license = licenses.ofl;
     maintainers = [ maintainers.ChengCat ];
     platforms = platforms.all;
-    # large package, mainly i/o bound
-    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/data/fonts/twemoji-color-font/default.nix b/pkgs/data/fonts/twemoji-color-font/default.nix
index eead97247e60..d7963f6395ad 100644
--- a/pkgs/data/fonts/twemoji-color-font/default.nix
+++ b/pkgs/data/fonts/twemoji-color-font/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
     owner = "eosrei";
     repo = "twemoji-color-font";
     rev = "v${meta.version}";
-    sha256 = "0z8r7z2r0r2wng4a7hvqvkcpd43l0d57yl402r7ci5bnmb02yvsa";
+    sha256 = "07yawvbdkk15d7ac9dj7drs1rqln9sba1fd6jx885ms7ww2sfm7r";
   };
 
   nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    version = "1.4";
+    version = "11.2.0";
     description = "Color emoji SVGinOT font using Twitter Unicode 10 emoji with diversity and country flags";
     longDescription = ''
       A color and B&W emoji SVGinOT font built from the Twitter Emoji for
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 553b6a5cf433..6024bdc1ad71 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3487551670de487866a34bd466b33b5146087882.tar.gz";
-  sha256 = "10kag8qmlsnj3qwq0zxb6apd2z7jg17srvhsax5lgbwvlymbnckb";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/95366a34cd5c9b47444ac819562fff2f23d7d753.tar.gz";
+  sha256 = "184qrgb7jl1s79v4z1jz9ywihilf60jh93xhwf0n75vnxb4ibnfd";
 }
diff --git a/pkgs/data/misc/mailcap/default.nix b/pkgs/data/misc/mailcap/default.nix
new file mode 100644
index 000000000000..d27e1d2dfd2e
--- /dev/null
+++ b/pkgs/data/misc/mailcap/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchzip }:
+
+let
+  version = "2.1.48";
+
+in fetchzip {
+  name = "mailcap-${version}";
+
+  url = "https://releases.pagure.org/mailcap/mailcap-${version}.tar.xz";
+  sha256 = "0m1rls4z85aby9fggwx2x70b4y6l0jjyiqdv30p8g91nv8hrq9fw";
+
+  postFetch = ''
+    tar -xavf $downloadedFile --strip-components=1
+    substituteInPlace mailcap --replace "/usr/bin/" ""
+    gzip mailcap.4
+
+    install -D -m0644 -t $out/etc mailcap mime.types
+    install -D -m0644 -t $out/share/man/man4 mailcap.4.gz
+  '';
+
+  meta = with lib; {
+    description = "Helper application and MIME type associations for file types";
+    homepage = "https://pagure.io/mailcap";
+    license = licenses.mit;
+    maintainers = with maintainers; [ c0bw3b ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-terminal/default.nix b/pkgs/desktops/deepin/deepin-terminal/default.nix
index 2c87180802bc..70e15441436d 100644
--- a/pkgs/desktops/deepin/deepin-terminal/default.nix
+++ b/pkgs/desktops/deepin/deepin-terminal/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromGitHub, pkgconfig, cmake, ninja, vala,
-  gettext, gobjectIntrospection, at-spi2-core, dbus, epoxy, expect,
+  gettext, gobject-introspection, at-spi2-core, dbus, epoxy, expect,
   gtk3, json-glib, libXdmcp, libgee, libpthreadstubs, librsvg,
   libsecret, libtasn1, libxcb, libxkbcommon, p11-kit, pcre, vte, wnck,
   deepin-menu, deepin-shortcut-viewer, deepin }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     ninja
     vala
     gettext
-    gobjectIntrospection # For setup hook
+    gobject-introspection # For setup hook
   ];
 
   buildInputs = [
diff --git a/pkgs/desktops/deepin/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-gir-generator/default.nix
index 183ae58fecd0..d33837b21c31 100644
--- a/pkgs/desktops/deepin/go-gir-generator/default.nix
+++ b/pkgs/desktops/deepin/go-gir-generator/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, go, gobjectIntrospection,
-  libgudev, deepin }:
+{ stdenv, fetchFromGitHub, pkgconfig, go, gobject-introspection,
+  libgudev, deepin, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -13,13 +13,21 @@ stdenv.mkDerivation rec {
     sha256 = "0grp4ffy3vmlknzmymnxq1spwshff2ylqsw82pj4y2v2fcvnqfvb";
   };
 
+  patches = [
+    # fix: dde-api build error with gobject-introspection 1.58+
+    (fetchurl {
+      url = https://github.com/linuxdeepin/go-gir-generator/commit/a7ab229201e28d1be727f5021b3588fa4a1acf5f.patch;
+      sha256 = "13ywalwkjg8wwvd0pvmc2rv1h38airyvimdn9jfb5wis9xm48401";
+    })
+  ];
+
   nativeBuildInputs = [
     pkgconfig
     go
   ];
 
   buildInputs = [
-    gobjectIntrospection
+    gobject-introspection
     libgudev
   ];
 
diff --git a/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
index feb865743e6c..5de7d93f49c6 100644
--- a/pkgs/desktops/gnome-3/apps/accerciser/default.nix
+++ b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gobjectIntrospection
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gobject-introspection
 , itstool, libxml2, python3Packages, at-spi2-core
 , dbus, intltool, libwnck3 }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkgconfig wrapGAppsHook itstool intltool
-    gobjectIntrospection # For setup hook
+    gobject-introspection # For setup hook
   ];
   buildInputs = [
     gtk3 libxml2 python3Packages.python python3Packages.pyatspi
diff --git a/pkgs/desktops/gnome-3/apps/cheese/default.nix b/pkgs/desktops/gnome-3/apps/cheese/default.nix
index ab985b1473e3..ea2091524c9c 100644
--- a/pkgs/desktops/gnome-3/apps/cheese/default.nix
+++ b/pkgs/desktops/gnome-3/apps/cheese/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "cheese-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/cheese/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "06da5qc5hdvwwd5vkbgbx8pjx1l3mvr07yrnnv3v1hfc3wp7l7jw";
+    sha256 = "0zz2bgjaf2lsmfs3zn24925vbjb0rycr39i288brlbzixrpcyljr";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix
index 89a16b02893a..7b13c59a1a8c 100644
--- a/pkgs/desktops/gnome-3/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/apps/evolution/default.nix
@@ -5,13 +5,13 @@
 , libcanberra-gtk3, bogofilter, gst_all_1, procps, p11-kit, openldap }:
 
 let
-  version = "3.28.5";
+  version = "3.30.2";
 in stdenv.mkDerivation rec {
   name = "evolution-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1q1nfga39f44knrcvcxk8ivhl6fvg92g71cq3hcp4a7krb3jwa5v";
+    sha256 = "1ps49js0110lrvg5xiylj9ky0ndp43wrnm0l6p6phmhx4h4477mj";
   };
 
   propagatedUserEnvPkgs = [ gnome3.evolution-data-server ];
@@ -45,6 +45,8 @@ in stdenv.mkDerivation rec {
     };
   };
 
+  PKG_CONFIG_LIBEDATASERVERUI_1_2_UIMODULEDIR = "${placeholder "out"}/lib/evolution-data-server/ui-modules";
+
   requiredSystemFeatures = [ "big-parallel" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix
index 1066cea177aa..fe307bca797b 100644
--- a/pkgs/desktops/gnome-3/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome-3/apps/file-roller/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "file-roller-${version}";
-  version = "3.28.1";
+  version = "3.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/file-roller/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "09y2blmlsccfxc2npcayhicq00r9n03897s1aizkahn1m970hjsp";
+    sha256 = "0kiragsqyixyx15747b71qc4nw8y4jx9d55wgg612xb0hp5l9pj1";
   };
 
   LANG = "en_US.UTF-8"; # postinstall.py
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     chmod +x postinstall.py # patchShebangs requires executable file
     patchShebangs postinstall.py
+    patchShebangs data/set-mime-type-entry.py
   '';
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix
index 64ef45f3098f..61eda9421945 100644
--- a/pkgs/desktops/gnome-3/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gedit/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gedit-${version}";
-  version = "3.28.1";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0791r07d3ixmmfk68lvhp3d5i4vnlrnx10csxwgpfqyfb04vwx7i";
+    sha256 = "0qwig35hzvjaqic9x92jcpmycnvcybsbnbiw6rppryx0arwb3wza";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool itstool libxml2 ];
diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix
index c4be9d7259c6..39e0f2ba23e1 100644
--- a/pkgs/desktops/gnome-3/apps/glade/default.nix
+++ b/pkgs/desktops/gnome-3/apps/glade/default.nix
@@ -1,5 +1,5 @@
 { stdenv, intltool, fetchurl, python3
-, pkgconfig, gtk3, glib, gobjectIntrospection
+, pkgconfig, gtk3, glib, gobject-introspection
 , wrapGAppsHook, itstool, libxml2, docbook_xsl
 , gnome3, gdk_pixbuf, libxslt }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pkgconfig intltool itstool wrapGAppsHook docbook_xsl libxslt gobjectIntrospection
+    pkgconfig intltool itstool wrapGAppsHook docbook_xsl libxslt gobject-introspection
   ];
   buildInputs = [
     gtk3 glib libxml2 python3 python3.pkgs.pygobject3
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index 9a9c01fbb1a6..357cd42d66bd 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkgconfig, gettext, itstool, libvirt-glib
-, glib, gobjectIntrospection, libxml2, gtk3, gtk-vnc, libvirt, spice-gtk, python3
+, glib, gobject-introspection, libxml2, gtk3, gtk-vnc, freerdp, libvirt, spice-gtk, python3
 , spice-protocol, libsoup, libosinfo, systemd, tracker, tracker-miners, vala
 , libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg, desktop-file-utils
 , mtools, cdrkit, libcdio, libusb, libarchive, acl, libgudev, qemu, libsecret
@@ -9,26 +9,26 @@
 # TODO: ovirt (optional)
 
 let
-  version = "3.28.5";
+  version = "3.30.3";
 in stdenv.mkDerivation rec {
   name = "gnome-boxes-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1z1qimspx1nw7l79rardxcx2bydj9nmk60vsdb611xzlqa3hkppm";
+    sha256 = "0a9ljwhkanszzyzl0bhad8vmzk7v4wafl9b1zn09pf57znyymf3s";
   };
 
   doCheck = true;
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobjectIntrospection desktop-file-utils python3
+    meson ninja vala pkgconfig gettext itstool wrapGAppsHook gobject-introspection desktop-file-utils python3
   ];
 
   # Required for USB redirection PolicyKit rules file
   propagatedUserEnvPkgs = [ spice-gtk ];
 
   buildInputs = [
-    libvirt-glib glib gtk3 gtk-vnc libxml2
+    libvirt-glib glib gtk3 gtk-vnc freerdp libxml2
     libvirt spice-gtk spice-protocol libsoup json-glib webkitgtk libosinfo systemd
     tracker tracker-miners libcap yajl gmp gdbm cyrus_sasl libusb libarchive
     gnome3.defaultIconTheme librsvg acl libgudev libsecret
@@ -57,7 +57,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simple GNOME 3 application to access remote or virtual systems";
-    homepage = https://wiki.gnome.org/action/show/Apps/Boxes;
+    homepage = https://wiki.gnome.org/Apps/Boxes;
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor ];
diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
index d876569d4df9..8cc8712a15de 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "gnome-calendar";
-  version = "3.28.2";
+  version = "3.30.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0x6wxngf8fkwgbl6x7rzp0srrb43rm55klpb2vfjk2hahpbjvxyw";
+    sha256 = "1avi7a29y8d8kzwslp51nwy6s692alms7917454j0xpfc6hnw62s";
   };
 
   passthru = {
@@ -27,8 +27,8 @@ in stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    chmod +x meson_post_install.py # patchShebangs requires executable file
-    patchShebangs meson_post_install.py
+    chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file
+    patchShebangs build-aux/meson/meson_post_install.py
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
index 20154359c086..047f9bc22102 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gnome3, glib, gtk3, pango, wrapGAppsHook, python3
-, gobjectIntrospection, gjs, libunistring }:
+, gobject-introspection, gjs, libunistring }:
 
 stdenv.mkDerivation rec {
   name = "gnome-characters-${version}";
-  version = "3.28.2";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-characters/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "04nmn23iw65wsczx1l6fa4jfdsv65klb511p39zj1pgwyisgj5l0";
+    sha256 = "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp";
   };
 
   postPatch = ''
@@ -22,8 +22,13 @@ stdenv.mkDerivation rec {
     };
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook python3 gobjectIntrospection ];
-  buildInputs = [ glib gtk3 gjs pango gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme libunistring ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook python3 gobject-introspection ];
+  buildInputs = [
+    glib gtk3 gjs pango gnome3.gsettings-desktop-schemas
+    gnome3.defaultIconTheme libunistring
+    # typelib
+    gnome3.gnome-desktop
+  ];
 
   mesonFlags = [
     "-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/services"
diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
index 9943bc778edf..30323cf62f53 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl
 , meson, ninja, gettext, pkgconfig, wrapGAppsHook, itstool, desktop-file-utils
-, vala, gobjectIntrospection, libxml2, gtk3, glib, gsound, sound-theme-freedesktop
+, vala, gobject-introspection, libxml2, gtk3, glib, gsound, sound-theme-freedesktop
 , gnome3, gdk_pixbuf, geoclue2, libgweather }:
 
 stdenv.mkDerivation rec {
   name = "gnome-clocks-${version}";
-  version = "3.28.0";
+  version = "3.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-clocks/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1dd739vchb592mck1dia2hkywn4213cpramyqzgmlmwv8z80p3nl";
+    sha256 = "009fr6zwv37wryi0c0syi4i7pxpdbn3gliws68l99cjsbn2qd6pc";
   };
 
   passthru = {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     vala meson ninja pkgconfig gettext itstool wrapGAppsHook desktop-file-utils libxml2
-    gobjectIntrospection # for finding vapi files
+    gobject-introspection # for finding vapi files
   ];
   buildInputs = [
     gtk3 glib gnome3.gsettings-desktop-schemas gdk_pixbuf gnome3.defaultIconTheme
diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
index a62965b890af..7db869dc3b47 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
@@ -3,16 +3,16 @@
 , itstool, libxslt, webkitgtk, libgdata
 , gnome-desktop, libzapojit, libgepub
 , gnome3, gdk_pixbuf, libsoup, docbook_xsl, docbook_xml_dtd_42
-, gobjectIntrospection, inkscape, poppler_utils
+, gobject-introspection, inkscape, poppler_utils
 , desktop-file-utils, wrapGAppsHook, python3 }:
 
 stdenv.mkDerivation rec {
   name = "gnome-documents-${version}";
-  version = "3.28.2";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-documents/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0aannnq39gjg6jnjm4kr8fqigg5npjvd8dyxw7k4hy4ny0ffxwjq";
+    sha256 = "0zchkjpc9algmxrpj0f9i2lc4h1yp8z0h76vn32xa9jr46x4lsh6";
   };
 
   doCheck = true;
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk3 glib gnome3.gsettings-desktop-schemas
     gdk_pixbuf gnome3.defaultIconTheme evince
-    libsoup webkitgtk gjs gobjectIntrospection
+    libsoup webkitgtk gjs gobject-introspection
     tracker tracker-miners libgdata
     gnome-desktop libzapojit libgepub
   ];
diff --git a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
index de54b6f92e11..e7a1954c8924 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-getting-started-docs-${version}";
-  version = "3.28.2";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-getting-started-docs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0vg0b4nr7azj6p5cpd7h7ya5hw6q89gnzig8hvp6swwrwg2p5nif";
+    sha256 = "10vihv6n8703rapf915waz1vzr7axk43bjlhmm3hb7kwm32rc61k";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix b/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
index 421ef8930c52..c6140a53fd9b 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-logs-${version}";
-  version = "3.28.5";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-logs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0zw6nx1hckv46hn978g57anp4zq4alvz9dpwibgx02wb6gq1r23a";
+    sha256 = "1rsk2whps7rwl01mmjmhwwww4iv09fsszils9zmgqd79y7l3fmyh";
   };
 
   mesonFlags = [
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    (python3.withPackages (pkgs: with pkgs; [ dogtail ]))
+    python3
     meson ninja pkgconfig wrapGAppsHook gettext itstool desktop-file-utils
     libxml2 libxslt docbook_xsl docbook_xml_dtd_43
   ];
diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
index 65270b7124d3..07c00f5b6325 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -1,24 +1,24 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, gtk3
-, gobjectIntrospection, gdk_pixbuf, librsvg, libgweather, autoreconfHook
-, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, file, libsoup
+{ stdenv, fetchurl, meson, ninja, gettext, python3, pkgconfig, gnome3, gtk3
+, gobject-introspection, gdk_pixbuf, librsvg, libgweather
+, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, libsoup
 , webkitgtk, gjs, libgee, geocode-glib, evolution-data-server, gnome-online-accounts }:
 
 let
   pname = "gnome-maps";
-  version = "3.28.2";
+  version = "3.30.2.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1yzi08a9316jplgsl2z0qzlqxhghyqcjhv0m6i94wcain4mxk1z7";
+    sha256 = "01hqv36j5ji0djq4vl151113bqhh4hpz72d88fm8zds4pdlx7l57";
   };
 
   doCheck = true;
 
-  nativeBuildInputs = [ intltool wrapGAppsHook file autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext python3 wrapGAppsHook ];
   buildInputs = [
-    gobjectIntrospection
+    gobject-introspection
     gtk3 geoclue2 gjs libgee folks gfbgraph
     geocode-glib libchamplain libsoup
     gdk_pixbuf librsvg libgweather
@@ -27,11 +27,14 @@ in stdenv.mkDerivation rec {
     webkitgtk
   ];
 
-  # The .service file isn't wrapped with the correct environment
-  # so misses GIR files when started. By re-pointing from the gjs
-  # entry point to the wrapped binary we get back to a wrapped
-  # binary.
-  preConfigure = ''
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+
+    # The .service file isn't wrapped with the correct environment
+    # so misses GIR files when started. By re-pointing from the gjs
+    # entry point to the wrapped binary we get back to a wrapped
+    # binary.
     substituteInPlace "data/org.gnome.Maps.service.in" \
         --replace "Exec=@pkgdatadir@/org.gnome.Maps" \
                   "Exec=$out/bin/gnome-maps"
@@ -48,7 +51,7 @@ in stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Apps/Maps;
     description = "A map application for GNOME 3";
     maintainers = gnome3.maintainers;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 6602987db374..3edf1f5dd402 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -1,29 +1,29 @@
 { stdenv, meson, ninja, gettext, fetchurl, gdk_pixbuf, tracker
 , libxml2, python3, libnotify, wrapGAppsHook, libmediaart
-, gobjectIntrospection, gnome-online-accounts, grilo, grilo-plugins
+, gobject-introspection, gnome-online-accounts, grilo, grilo-plugins
 , pkgconfig, gtk3, glib, desktop-file-utils, appstream-glib
-, itstool, gnome3, gst_all_1 }:
+, itstool, gnome3, gst_all_1, libdazzle, libsoup }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-music";
-  version = "3.28.2.1";
+  version = "3.30.2";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "09lvpiqhijiq0kddnfi9rmmw806qh9a03czfhssqczd9fxmmbx5v";
+    sha256 = "1d9gd9rqy71hibfrz4zglimvgv6yn1pw22cnrn7pbdz6k4yq209d";
   };
 
-  nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook desktop-file-utils appstream-glib gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ];
   buildInputs = with gst_all_1; [
     gtk3 glib libmediaart gnome-online-accounts
     gdk_pixbuf gnome3.defaultIconTheme python3
-    grilo grilo-plugins libnotify
+    grilo grilo-plugins libnotify libdazzle libsoup
     gnome3.gsettings-desktop-schemas tracker
     gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
   ];
-  propagatedBuildInputs = with python3.pkgs; [ pycairo dbus-python requests pygobject3 ];
+  propagatedBuildInputs = with python3.pkgs; [ pycairo dbus-python pygobject3 ];
 
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
index 46c76a8ce17c..e39ce00fd658 100644
--- a/pkgs/desktops/gnome-3/apps/bijiben/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
@@ -5,13 +5,13 @@
 , gnome3, libxml2 }:
 
 let
-  version = "3.28.3";
+  version = "3.30.3";
 in stdenv.mkDerivation rec {
-  name = "bijiben-${version}";
+  name = "gnome-notes-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0lg92fl6dmrybkxs3gqhyr8rq945y64k51l6s72yiads7pqabli2";
+    url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/bijiben-${version}.tar.xz";
+    sha256 = "1mkpi2i9nqpip5l15ihjcscyiri113s0705sjgh6b89164ahyn5k";
   };
 
   doCheck = true;
@@ -41,13 +41,13 @@ in stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "bijiben";
-      attrPath = "gnome3.bijiben";
+      attrPath = "gnome3.gnome-notes";
     };
   };
 
   meta = with stdenv.lib; {
     description = "Note editor designed to remain simple to use";
-    homepage = https://wiki.gnome.org/Apps/Bijiben;
+    homepage = https://wiki.gnome.org/Apps/Notes;
     license = licenses.gpl3;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
index 2da382e57223..508b8af3f4f7 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
@@ -8,13 +8,13 @@
 
 let
   pname = "gnome-photos";
-  version = "3.28.0";
+  version = "3.30.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1n280j7crgwlzyf09j66f1zkrnnhfrr8pshn824njs1xyk3g0q11";
+    sha256 = "1mf1887x0pk46h6l51rfkpn29fwp3yvmqkk99kr1iwpz0lakyx6f";
   };
 
   # doCheck = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix b/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
index 58c67e6441f1..3f8ce7f4a51a 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
@@ -14,13 +14,13 @@
 
 let
   pname = "gnome-power-manager";
-  version = "3.26.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "20aee0b0b4015e7cc6fbabc3cbc4344c07c230fe3d195e90c8ae0dc5d55a2d4e";
+    sha256 = "0m15x6i279wrfimz9ma2gfjv7jlkca2qbl2wcnxgx1pb3hzrwggm";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
index 1f6e86d49436..7b88204c5eaf 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gobjectIntrospection, wrapGAppsHook, gjs, glib, gtk3, gdk_pixbuf, gst_all_1, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, intltool, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk_pixbuf, gst_all_1, gnome3 }:
 
 let
   pname = "gnome-sound-recorder";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
     sha256 = "0y0srj1hvr1waa35p6dj1r1mlgcsscc0i99jni50ijp4zb36fjqy";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection wrapGAppsHook ];
+  nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ];
   buildInputs = [ gjs glib gtk3 gdk_pixbuf ] ++ (with gst_all_1; [ gstreamer.dev gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]);
 
   # TODO: fix this in gstreamer
diff --git a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix b/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
index 93c8d4147641..6a827b7f0e3c 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gjs, gobjectIntrospection
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gjs, gobject-introspection
 , libgweather, intltool, itstool, geoclue2, gnome-desktop }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
   buildInputs = [
-    gtk3 gjs gobjectIntrospection gnome-desktop
+    gtk3 gjs gobject-introspection gnome-desktop
     libgweather gnome3.defaultIconTheme geoclue2 gnome3.gsettings-desktop-schemas
   ];
 
diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix
index 3bb4b7887446..080fa664b0db 100644
--- a/pkgs/desktops/gnome-3/apps/polari/default.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -1,24 +1,24 @@
 { stdenv, itstool, fetchurl, gdk_pixbuf, adwaita-icon-theme
 , telepathy-glib, gjs, meson, ninja, gettext, telepathy-idle, libxml2, desktop-file-utils
-, pkgconfig, gtk3, glib, libsecret, libsoup, gobjectIntrospection, appstream-glib
+, pkgconfig, gtk3, glib, libsecret, libsoup, gobject-introspection, appstream-glib
 , gnome3, wrapGAppsHook, telepathy-logger, gspell }:
 
 let
   pname = "polari";
-  version = "3.28.1";
+  version = "3.30.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1066j1lbrkpcxhvrg3gcv7gv8dzqv5ny9qi9dnm8r1dsx2hil9yc";
+    sha256 = "02wxkdq5s5ami9wj9vpqhs6n8qxr299bpmvpvd89mn49x73lq2w2";
   };
 
   propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
 
   nativeBuildInputs = [
     meson ninja pkgconfig itstool gettext wrapGAppsHook libxml2
-    desktop-file-utils gobjectIntrospection appstream-glib
+    desktop-file-utils gobject-introspection appstream-glib
   ];
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
index 179b60e98c13..af5b861ab472 100644
--- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -1,33 +1,38 @@
-{ stdenv, intltool, fetchurl, vala
-, pkgconfig, gtk3, glib
+{ stdenv, fetchurl, vala, meson, ninja
+, pkgconfig, gtk3, glib, gobject-introspection
 , wrapGAppsHook, itstool, gnupg, libsoup
-, gnome3, gpgme
+, gnome3, gpgme, python3, openldap
 , libsecret, avahi, p11-kit, openssh }:
 
 let
   pname = "seahorse";
-  version = "3.20.0";
+  version = "3.30";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "e2b07461ed54a8333e5628e9b8e517ec2b731068377bf376570aad998274c6df";
+    sha256 = "1sbj1czlx1fakm72dwgbn0bwm12j838yaky4mkf6hf8j8afnxmzp";
   };
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
-
-  nativeBuildInputs = [ pkgconfig vala intltool itstool wrapGAppsHook ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig vala itstool wrapGAppsHook
+    python3 gobject-introspection
+  ];
   buildInputs = [
     gtk3 glib gnome3.gcr
     gnome3.gsettings-desktop-schemas gnupg
     gnome3.defaultIconTheme gpgme
     libsecret avahi libsoup p11-kit
-    openssh
+    openssh openldap
   ];
 
+  postPatch = ''
+    patchShebangs build-aux/
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
index 1313527e20f1..4fa40a6c1b08 100644
--- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
@@ -3,15 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "adwaita-icon-theme-${version}";
-  version = "3.30.0";
+  version = "3.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0jz6wiq2yw5jda56jgi1dys7hlvzk1a49xql7lccrrm3fj8p41li";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "adwaita-icon-theme"; attrPath = "gnome3.adwaita-icon-theme"; };
+    sha256 = "1kp1lis3dr16jmlgycz1b29jsr6ir8wmqj6laqwlhs663cmjlxbd";
   };
 
   # For convenience, we can specify adwaita-icon-theme only in packages
@@ -24,6 +20,13 @@ stdenv.mkDerivation rec {
   # remove a tree of dirs with no files within
   postInstall = '' rm -rf "$out/locale" '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "adwaita-icon-theme";
+      attrPath = "gnome3.adwaita-icon-theme";
+    };
+  };
+
   meta = with stdenv.lib; {
     platforms = with platforms; linux ++ darwin;
     maintainers = gnome3.maintainers;
diff --git a/pkgs/desktops/gnome-3/core/baobab/default.nix b/pkgs/desktops/gnome-3/core/baobab/default.nix
index 8d21e9c323b5..c29e3ff5200d 100644
--- a/pkgs/desktops/gnome-3/core/baobab/default.nix
+++ b/pkgs/desktops/gnome-3/core/baobab/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "baobab";
-  version = "3.28.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0qsx7vx5c3n4yxlxbr11sppw7qwcv9z3g45b5xb9y7wxw5lv42sk";
+    sha256 = "0kx721s1hhw1g0nvbqhb93g8iq6f852imyhfhl02zcqy4ipx0kay";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index b1369d8304b0..0d583dccf766 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3
-, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobjectIntrospection }:
+, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }:
 
 let
   pname = "dconf-editor";
-  version = "3.28.0";
+  version = "3.30.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0nhcpwqrkmpxbhaf0cafvy6dlp6s7vhm5vknl4lgs3l24zc56ns5";
+    sha256 = "06f736spn20s7qjsz00xw44v8r8bjhyrz1v3bix6v416jc5jp6ia";
   };
 
-  nativeBuildInputs = [ meson ninja vala libxslt pkgconfig wrapGAppsHook gettext docbook_xsl libxml2 gobjectIntrospection python3 ];
+  nativeBuildInputs = [ meson ninja vala libxslt pkgconfig wrapGAppsHook gettext docbook_xsl libxml2 gobject-introspection python3 ];
 
   buildInputs = [ glib gtk3 gnome3.dconf ];
 
diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix
index 219aa4e7475f..9c1d7d7d1a98 100644
--- a/pkgs/desktops/gnome-3/core/dconf/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, meson, ninja, python3, vala, libxslt, pkgconfig, glib, dbus-glib, gnome3
-, libxml2, docbook_xsl }:
+{ stdenv, fetchurl, meson, ninja, python3, vala, libxslt, pkgconfig, glib, bash-completion, dbus, gnome3
+, libxml2, gtk-doc, docbook_xsl, docbook_xml_dtd_42 }:
 
 let
   pname = "dconf";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "0.28.0";
+  version = "0.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0hn7v6769xabqz7kvyb2hfm19h46z1whkair7ff752zmbs3b7lv1";
+    sha256 = "1dq2dn7qmxr4fxzx9wnag89ck24gxq17p2n4gl81h4w8qdy3m6jl";
   };
 
   postPatch = ''
@@ -18,12 +18,17 @@ stdenv.mkDerivation rec {
     patchShebangs meson_post_install.py
   '';
 
-  outputs = [ "out" "lib" "dev" ];
+  outputs = [ "out" "lib" "dev" "devdoc" ];
 
-  nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 docbook_xsl ];
-  buildInputs = [ glib dbus-glib ];
+  nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 gtk-doc docbook_xsl docbook_xml_dtd_42 ];
+  buildInputs = [ glib bash-completion dbus ];
 
-  doCheck = false; # fails 2 out of 9 tests, maybe needs dbus daemon?
+  mesonFlags = [
+    "--sysconfdir=/etc"
+    "-Dgtk_doc=true"
+  ];
+
+  doCheck = true;
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/desktops/gnome-3/core/empathy/default.nix b/pkgs/desktops/gnome-3/core/empathy/default.nix
index f4aeb6c53db2..1a4ef2a1cf41 100644
--- a/pkgs/desktops/gnome-3/core/empathy/default.nix
+++ b/pkgs/desktops/gnome-3/core/empathy/default.nix
@@ -1,6 +1,6 @@
 { stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, gnome3, gdk_pixbuf
-, telepathy-glib, telepathy-farstream
+, file, librsvg, gnome3, gdk_pixbuf, python3
+, telepathy-glib, telepathy-farstream, glibcLocales
 , clutter-gtk, clutter-gst, gst_all_1, cogl, gnome-online-accounts
 , gcr, libsecret, folks, libpulseaudio, telepathy-mission-control
 , telepathy-logger, libnotify, clutter, libsoup, gnutls
@@ -18,10 +18,6 @@ stdenv.mkDerivation rec {
     sha256 = "0sn10fcymc6lyrabk7vx8lpvlaxxkqnmcwj9zdkfa8qf3388k4nc";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "empathy"; };
-  };
-
   propagatedUserEnvPkgs = [
     gnome-online-accounts shared-mime-info
   ];
@@ -30,7 +26,7 @@ stdenv.mkDerivation rec {
   ];
   nativeBuildInputs = [
     pkgconfig libtool intltool itstool file wrapGAppsHook
-    libxml2 libxslt yelp-xsl
+    libxml2 libxslt yelp-xsl python3 glibcLocales
   ];
   buildInputs = [
     gtk3 glib webkitgtk icu gnome-online-accounts
@@ -49,6 +45,15 @@ stdenv.mkDerivation rec {
     cheese libgudev
   ];
 
+  LC_ALL = "en_US.UTF-8";
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "empathy";
+      versionPolicy = "none";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Empathy;
     description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols";
diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix
index bf5465b16c2e..679974f28f98 100644
--- a/pkgs/desktops/gnome-3/core/eog/default.nix
+++ b/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -1,19 +1,19 @@
 { fetchurl, stdenv, meson, ninja, gettext, itstool, pkgconfig, libxml2, libjpeg, libpeas, gnome3
 , gtk3, glib, gsettings-desktop-schemas, adwaita-icon-theme, gnome-desktop, lcms2, gdk_pixbuf, exempi
-, shared-mime-info, wrapGAppsHook, librsvg, libexif, gobjectIntrospection, python3 }:
+, shared-mime-info, wrapGAppsHook, librsvg, libexif, gobject-introspection, python3 }:
 
 let
   pname = "eog";
-  version = "3.28.3";
+  version = "3.28.4";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1lj8v9m8jdxc3d4nzmgrxcccddg3hh8lkbmz4g71yxa0ykxxvbip";
+    sha256 = "1wrq3l3z0x6q0hnc1vqr2hnyb1b14qw6aqvc5dldfgbs0yys6p55";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook libxml2 gobjectIntrospection python3 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook libxml2 gobject-introspection python3 ];
 
   buildInputs = [
     libjpeg gtk3 gdk_pixbuf glib libpeas librsvg lcms2 gnome-desktop libexif exempi
diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix
index 3c9b4de9ea8b..283101247181 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -2,15 +2,15 @@
 , wrapGAppsHook, gnome3, libxml2, libxslt, itstool
 , webkitgtk, libsoup, glib-networking, libsecret, gnome-desktop, libnotify, p11-kit
 , sqlite, gcr, isocodes, desktop-file-utils, python3
-, gdk_pixbuf, gst_all_1, json-glib }:
+, gdk_pixbuf, gst_all_1, json-glib, libdazzle }:
 
 stdenv.mkDerivation rec {
   name = "epiphany-${version}";
-  version = "3.28.3.1";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1xz6xl6b0iihvczyr0cs1z5ifvpai6anb4m0ng1caiph06klc1b9";
+    sha256 = "0141bb37nd8wc743g4wy491crjh6ig76ack07aj2ba4z3gjz2zlc";
   };
 
   # Tests need an X display
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     gdk_pixbuf gnome3.defaultIconTheme gcr
     glib-networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly
-    gst_all_1.gst-libav json-glib
+    gst_all_1.gst-libav json-glib libdazzle
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index 077ffe65ec47..4867335af126 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, pkgconfig, intltool, libxml2
 , glib, gtk3, pango, atk, gdk_pixbuf, shared-mime-info, itstool, gnome3
 , poppler, ghostscriptX, djvulibre, libspectre, libarchive, libsecret, wrapGAppsHook
-, librsvg, gobjectIntrospection, yelp-tools
+, librsvg, gobject-introspection, yelp-tools, gspell
 , recentListSize ? null # 5 is not enough, allow passing a different number
 , supportXPS ? false    # Open XML Paper Specification via libgxps
 , autoreconfHook
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name = "evince-${version}";
-  version = "3.28.2";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1qbk1x2c7iacmmfwjzh136v2sdacrkqn9d6bnqid7xn9hlnx4m89";
+    sha256 = "0k7jln6dpg4bpv61niicjzkzyq6fhb3yfld7pc8ck71c8pmvsnx9";
   };
 
   passthru = {
@@ -21,14 +21,14 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pkgconfig gobjectIntrospection intltool itstool wrapGAppsHook yelp-tools autoreconfHook
+    pkgconfig gobject-introspection intltool itstool wrapGAppsHook yelp-tools autoreconfHook
   ];
 
   buildInputs = [
     glib gtk3 pango atk gdk_pixbuf libxml2
     gnome3.gsettings-desktop-schemas
     poppler ghostscriptX djvulibre libspectre libarchive
-    libsecret librsvg gnome3.adwaita-icon-theme
+    libsecret librsvg gnome3.adwaita-icon-theme gspell
   ] ++ stdenv.lib.optional supportXPS gnome3.libgxps;
 
   configureFlags = [
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index 6ed27750dccd..c88d8c9c381f 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -1,17 +1,17 @@
-{ fetchurl, stdenv, substituteAll, pkgconfig, gnome3, python3, gobjectIntrospection
-, intltool, libsoup, libxml2, libsecret, icu, sqlite, tzdata
-, p11-kit, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking
+{ fetchurl, stdenv, substituteAll, pkgconfig, gnome3, python3, gobject-introspection
+, intltool, libsoup, libxml2, libsecret, icu, sqlite, tzdata, libcanberra-gtk3
+, p11-kit, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking, pcre
 , vala, cmake, ninja, kerberos, openldap, webkitgtk, libaccounts-glib, json-glib }:
 
 stdenv.mkDerivation rec {
   name = "evolution-data-server-${version}";
-  version = "3.28.5";
+  version = "3.30.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1247gv0ggwnd1i2n7iglb3crfapx6s9nrl896bzy9k87fb94hlyr";
+    sha256 = "0h4f71kpf2ypdgifg369z35pk4cq99daw540yzjpax52grav2fjv";
   };
 
   patches = [
@@ -22,12 +22,13 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    cmake ninja pkgconfig intltool python3 gperf wrapGAppsHook gobjectIntrospection vala
+    cmake ninja pkgconfig intltool python3 gperf wrapGAppsHook gobject-introspection vala
   ];
   buildInputs = with gnome3; [
     glib libsoup libxml2 gtk gnome-online-accounts
     gcr p11-kit libgweather libgdata libaccounts-glib json-glib
     icu sqlite kerberos openldap webkitgtk glib-networking
+    libcanberra-gtk3 pcre
   ];
 
   propagatedBuildInputs = [ libsecret nss nspr libical db ];
diff --git a/pkgs/desktops/gnome-3/core/folks/default.nix b/pkgs/desktops/gnome-3/core/folks/default.nix
index ec059873dcbf..2eb33cde975f 100644
--- a/pkgs/desktops/gnome-3/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/core/folks/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
+{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool, gobject-introspection
 , vala, sqlite, libxml2, dbus-glib, libsoup, nss, dbus
 , telepathy-glib, evolution-data-server, libsecret, db }:
 
@@ -16,9 +16,11 @@ in stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
   # dbus_daemon needed for tests
-  buildInputs = [ dbus-glib telepathy-glib evolution-data-server dbus
-                  vala libsecret libxml2 libsoup nspr nss intltool db ];
-  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    dbus-glib telepathy-glib evolution-data-server dbus
+    libsecret libxml2 libsoup nspr nss db
+  ];
+  nativeBuildInputs = [ pkgconfig intltool vala gobject-introspection ];
 
   configureFlags = [ "--disable-fatal-warnings" ];
 
diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix
index ea2883a5716a..2cfdb518dfab 100644
--- a/pkgs/desktops/gnome-3/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/core/gcr/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, gnupg, p11-kit, glib
 , libgcrypt, libtasn1, dbus-glib, gtk, pango, gdk_pixbuf, atk
-, gobjectIntrospection, makeWrapper, libxslt, vala, gnome3
+, gobject-introspection, makeWrapper, libxslt, vala, gnome3
 , python2 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection libxslt makeWrapper vala ];
+  nativeBuildInputs = [ pkgconfig intltool gobject-introspection libxslt makeWrapper vala ];
 
   buildInputs = let
     gpg = gnupg.override { guiSupport = false; }; # prevent build cycle with pinentry_gnome
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 761f6b34ec6b..135200ee3c4f 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg
-, intltool, accountsservice, libX11, gnome3, systemd, autoreconfHook
-, gtk, libcanberra-gtk3, pam, libtool, gobjectIntrospection, plymouth
-, librsvg, coreutils, xwayland }:
+, accountsservice, libX11, gnome3, systemd, autoreconfHook
+, gtk, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth
+, librsvg, coreutils, xwayland, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "gdm-${version}";
-  version = "3.28.3";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "12d1cp2dyca8rwh9y9cg8xn6grdp8nmxkkqwg4xpkr8i8ml65n88";
+    sha256 = "1handy65r1n0zby09jr492b3643wszzigdkxp7q2ypgxb3hyv45y";
   };
 
   # Only needed to make it build
@@ -24,18 +24,18 @@ stdenv.mkDerivation rec {
     "--enable-gdm-xsession"
     "--with-initial-vt=7"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--with-udevdir=$(out)/lib/udev"
   ];
 
-  nativeBuildInputs = [ pkgconfig libxml2 itstool intltool autoreconfHook libtool gnome3.dconf ];
+  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool gnome3.dconf ];
   buildInputs = [
     glib accountsservice systemd
-    gobjectIntrospection libX11 gtk
+    gobject-introspection libX11 gtk
     libcanberra-gtk3 pam plymouth librsvg
   ];
 
   enableParallelBuilding = true;
 
-  # Disable Access Control because our X does not support FamilyServerInterpreted yet
   patches = [
     # Change hardcoded paths to nix store paths.
     (substituteAll {
@@ -46,10 +46,6 @@ stdenv.mkDerivation rec {
     # The following patches implement certain environment variables in GDM which are set by
     # the gdm configuration module (nixos/modules/services/x11/display-managers/gdm.nix).
 
-    # Look for session definition files in the directory specified by GDM_SESSIONS_DIR.
-    ./sessions_dir.patch
-
-    # Allow specifying X server arguments with GDM_X_SERVER_EXTRA_ARGS.
     ./gdm-x-session_extra_args.patch
 
     # Allow specifying a wrapper for running the session command.
diff --git a/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch b/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch
index adac2dc913cc..6b5bd6152bd6 100644
--- a/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch
@@ -1,17 +1,17 @@
 --- a/daemon/gdm-local-display-factory.c
 +++ b/daemon/gdm-local-display-factory.c
-@@ -450,7 +450,7 @@
+@@ -201,7 +201,7 @@
  #ifdef ENABLE_WAYLAND_SUPPORT
-                         gboolean wayland_enabled = FALSE;
-                         if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) {
--                                if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) {
-+                                if (wayland_enabled && g_file_test ("@xwayland@/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) {
-                                         session_type = "wayland";
-                                 }
-                         }
+         gboolean wayland_enabled = FALSE;
+         if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) {
+-                if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) )
++                if (wayland_enabled && g_file_test ("@xwayland@/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) )
+                         return TRUE;
+         }
+ #endif
 --- a/daemon/gdm-manager.c
 +++ b/daemon/gdm-manager.c
-@@ -147,7 +147,7 @@
+@@ -145,7 +145,7 @@
          GError  *error;
  
          error = NULL;
@@ -20,7 +20,7 @@
                                           NULL, NULL, &status, &error);
          if (! res) {
                  g_debug ("Could not ping plymouth: %s", error->message);
-@@ -165,7 +165,7 @@
+@@ -163,7 +163,7 @@
          GError  *error;
  
          error = NULL;
@@ -29,7 +29,7 @@
                                           NULL, NULL, NULL, &error);
          if (! res) {
                  g_warning ("Could not deactivate plymouth: %s", error->message);
-@@ -180,7 +180,7 @@
+@@ -178,7 +178,7 @@
          GError  *error;
  
          error = NULL;
@@ -38,7 +38,7 @@
          if (! res) {
                  g_warning ("Could not quit plymouth: %s", error->message);
                  g_error_free (error);
-@@ -196,7 +196,7 @@
+@@ -194,7 +194,7 @@
          GError  *error;
  
          error = NULL;
@@ -49,12 +49,12 @@
                  g_error_free (error);
 --- a/data/gdm.service.in
 +++ b/data/gdm.service.in
-@@ -28,7 +28,7 @@
+@@ -28,7 +28,7 @@ BusName=org.gnome.DisplayManager
  StandardOutput=syslog
  StandardError=inherit
  EnvironmentFile=-@LANG_CONFIG_FILE@
 -ExecReload=/bin/kill -SIGHUP $MAINPID
 +ExecReload=@coreutils@/bin/kill -SIGHUP $MAINPID
+ KeyringMode=shared
  
  [Install]
- Alias=display-manager.service
diff --git a/pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch b/pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch
deleted file mode 100644
index 7722e2550bdb..000000000000
--- a/pkgs/desktops/gnome-3/core/gdm/sessions_dir.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/daemon/gdm-launch-environment.c
-+++ b/daemon/gdm-launch-environment.c
-@@ -126,7 +126,7 @@
-                 "LC_COLLATE", "LC_MONETARY", "LC_MESSAGES", "LC_PAPER",
-                 "LC_NAME", "LC_ADDRESS", "LC_TELEPHONE", "LC_MEASUREMENT",
-                 "LC_IDENTIFICATION", "LC_ALL", "WINDOWPATH", "XCURSOR_PATH",
--                "XDG_CONFIG_DIRS", NULL
-+                "XDG_CONFIG_DIRS", "GDM_SESSIONS_DIR", NULL
-         };
-         char *system_data_dirs;
-         int i;
---- a/daemon/gdm-session.c
-+++ b/daemon/gdm-session.c
-@@ -345,12 +345,17 @@
-         char **search_dirs;
- 
-         static const char *x_search_dirs[] = {
-+                "/var/empty",
-                 "/etc/X11/sessions/",
-                 DMCONFDIR "/Sessions/",
-                 DATADIR "/gdm/BuiltInSessions/",
-                 DATADIR "/xsessions/",
-         };
- 
-+        if (getenv("GDM_SESSIONS_DIR") != NULL) {
-+                x_search_dirs[0] = getenv("GDM_SESSIONS_DIR");
-+        };
-+
-         static const char *wayland_search_dir = DATADIR "/wayland-sessions/";
- 
-         search_array = g_array_new (TRUE, TRUE, sizeof (char *));
---- a/libgdm/gdm-sessions.c
-+++ b/libgdm/gdm-sessions.c
-@@ -217,6 +217,7 @@
- {
-         int         i;
-         const char *xorg_search_dirs[] = {
-+                "/var/empty/",
-                 "/etc/X11/sessions/",
-                 DMCONFDIR "/Sessions/",
-                 DATADIR "/gdm/BuiltInSessions/",
-@@ -224,6 +225,10 @@
-                 NULL
-         };
- 
-+        if (g_getenv("GDM_SESSIONS_DIR") != NULL) {
-+                xorg_search_dirs[0] = g_getenv("GDM_SESSIONS_DIR");
-+        };
-+
- #ifdef ENABLE_WAYLAND_SUPPORT
-         const char *wayland_search_dirs[] = {
-                 DATADIR "/wayland-sessions/",
diff --git a/pkgs/desktops/gnome-3/core/geocode-glib/default.nix b/pkgs/desktops/gnome-3/core/geocode-glib/default.nix
index 3924f0033465..ce5f46534c7b 100644
--- a/pkgs/desktops/gnome-3/core/geocode-glib/default.nix
+++ b/pkgs/desktops/gnome-3/core/geocode-glib/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, meson, ninja, pkgconfig, gettext, gtk-doc, docbook_xsl, gobjectIntrospection, gnome3, libsoup, json-glib }:
+{ fetchurl, stdenv, meson, ninja, pkgconfig, gettext, gtk-doc, docbook_xsl, gobject-introspection, gnome3, libsoup, json-glib }:
 
 stdenv.mkDerivation rec {
   name = "geocode-glib-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1vmydxs5xizcmaxpkfrq75xpj6pqrpdjizxyb30m00h54yqqch7a";
   };
 
-  nativeBuildInputs = with gnome3; [ meson ninja pkgconfig gettext gtk-doc docbook_xsl gobjectIntrospection ];
+  nativeBuildInputs = with gnome3; [ meson ninja pkgconfig gettext gtk-doc docbook_xsl gobject-introspection ];
   buildInputs = with gnome3; [ glib libsoup json-glib ];
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/core/gjs/default.nix
index 5854265d3527..ac3a25b7dc74 100644
--- a/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ b/pkgs/desktops/gnome-3/core/gjs/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, gtk3, atk, gobjectIntrospection
-, spidermonkey_52, pango, readline, glib, libxml2, dbus, gdk_pixbuf
+{ fetchurl, stdenv, pkgconfig, gnome3, gtk3, atk, gobject-introspection
+, spidermonkey_60, pango, readline, glib, libxml2, dbus, gdk_pixbuf
 , makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "gjs-${version}";
-  version = "1.52.3";
+  version = "1.54.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1z4n15wdz6pbqd2hfzrqc8mmprhv50v4jk43p08v0xv07yldh8ff";
+    sha256 = "1cd65d4nq5xxlyjz1b83hm5zklyry6lillzf782nr0z97k60vcvn";
   };
 
   passthru = {
@@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "installedTests" ];
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
-  buildInputs = [ libxml2 gobjectIntrospection gtk3 glib pango readline dbus ];
+  buildInputs = [ libxml2 gobject-introspection gtk3 glib pango readline dbus ];
 
-  propagatedBuildInputs = [ spidermonkey_52 ];
+  propagatedBuildInputs = [ spidermonkey_60 ];
 
   configureFlags = [
     "--enable-installed-tests"
diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
index c1f8c08eebfe..a938a59f7a01 100644
--- a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-backgrounds-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-backgrounds/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1qgim0yhzjgcq172y4vp5hqz4rh1ak38a7pgi6s7dq0wklyrcnxj";
+    sha256 = "1179jrl16bp9gqabqhw7nnfp8qzf5y1vf9fi45bni6rfmwm3mrpc";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
index 2db256c323fb..b065025327ff 100644
--- a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, gnome3, meson, ninja, pkgconfig, gtk3, intltool, glib
-, udev, itstool, libxml2, wrapGAppsHook, libnotify, libcanberra-gtk3, gobjectIntrospection
+, udev, itstool, libxml2, wrapGAppsHook, libnotify, libcanberra-gtk3, gobject-introspection
 , gtk-doc, docbook_xsl, docbook_xml_dtd_43, python3 }:
 
 let
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    meson ninja intltool itstool pkgconfig libxml2 wrapGAppsHook gobjectIntrospection
+    meson ninja intltool itstool pkgconfig libxml2 wrapGAppsHook gobject-introspection
     gtk-doc docbook_xsl docbook_xml_dtd_43 python3
   ];
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
index a5a3bd03e9f9..4a37599b136d 100644
--- a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix
@@ -1,19 +1,19 @@
 { stdenv, meson, ninja, vala, gettext, itstool, fetchurl, pkgconfig, libxml2
-, gtk3, glib, gtksourceview3, wrapGAppsHook, gobjectIntrospection, python3
+, gtk3, glib, gtksourceview3, wrapGAppsHook, gobject-introspection, python3
 , gnome3, mpfr, gmp, libsoup, libmpc }:
 
 stdenv.mkDerivation rec {
   name = "gnome-calculator-${version}";
-  version = "3.28.2";
+  version = "3.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-calculator/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0izsrqc9fm2lh25jr3nzi94p5hh2d3cklxqczbq16by85wr1xm5s";
+    sha256 = "0qkzcmj51cjmljxl1nc84h6jgq1a51xj4g6jwh3ymgm19m3sqypc";
   };
 
   nativeBuildInputs = [
     meson ninja pkgconfig vala gettext itstool wrapGAppsHook python3
-    gobjectIntrospection # for finding vapi files
+    gobject-introspection # for finding vapi files
   ];
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
index 7fe1c2211e2e..782a77499f9e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "gnome-color-manager";
-  version = "3.28.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1mixga6mq67wgxdsg6rnl7lvyh3z3yabxjmnyjq2k2v8ljgklczc";
+    sha256 = "105bqqq3yvdn5lx94mkl0d450f0l8lmwfjjcwyls1pycmj0vifwh";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext itstool desktop-file-utils ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
index 2acf04e657a3..286bec4a367e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
@@ -5,13 +5,13 @@
 , vala, meson, ninja }:
 
 let
-  version = "3.28.2";
+  version = "3.30.1";
 in stdenv.mkDerivation rec {
   name = "gnome-contacts-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-contacts/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1ilgmvgprn1slzmrzbs0zwgbzxp04rn5ycqd9c8zfvyh6zzwwr8w";
+    sha256 = "1vizpjb3ll7pndxpvwjjplgdn6b2wf0mjqr9fga0p2cj57v00m89";
   };
 
   propagatedUserEnvPkgs = [ evolution-data-server ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index 638c5fe9941a..f1423f883d4e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, ibus, gettext, upower, wrapGAppsHook
 , libcanberra-gtk3, accountsservice, libpwquality, libpulseaudio
-, gdk_pixbuf, librsvg, libnotify, libgudev, gnome-color-manager
+, gdk_pixbuf, librsvg, libnotify, libgudev, libsecret, gnome-color-manager
 , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
 , cracklib, libkrb5, networkmanagerapplet, networkmanager, glibc
 , libwacom, samba, shared-mime-info, tzdata, libtool, libgnomekbd
@@ -9,13 +9,13 @@
 
 let
   pname = "gnome-control-center";
-  version = "3.28.2";
+  version = "3.30.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0d6pjdbsra16nav8201kaadja5yma92bhziki9601ilk2ry3v7pz";
+    sha256 = "0rn4r0ng4pd9smpay4rf4dkcl09b2ipr9srryybhd1srmd02ps51";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
     libxml2 gnome-desktop gnome-settings-daemon polkit libgtop
     gnome-online-accounts libsoup colord libpulseaudio fontconfig colord-gtk
     accountsservice libkrb5 networkmanagerapplet libwacom samba libnotify
-    grilo libpwquality cracklib vino libcanberra-gtk3 libgudev
+    grilo libpwquality cracklib vino libcanberra-gtk3 libgudev libsecret
     gdk_pixbuf defaultIconTheme librsvg clutter clutter-gtk cheese
     networkmanager modemmanager gnome-bluetooth tracker
   ];
@@ -42,8 +42,8 @@ in stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    chmod +x meson_post_install.py # patchShebangs requires executable file
-    patchShebangs meson_post_install.py
+    chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file
+    patchShebangs build-aux/meson/meson_post_install.py
   '';
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch
index ad9187b650e4..0c11a7626e40 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch
@@ -1,15 +1,15 @@
 --- a/panels/color/cc-color-panel.c
 +++ b/panels/color/cc-color-panel.c
-@@ -634,7 +634,7 @@
+@@ -599,7 +599,7 @@
  
    /* run with modal set */
    argv = g_ptr_array_new_with_free_func (g_free);
 -  g_ptr_array_add (argv, g_build_filename (BINDIR, "gcm-calibrate", NULL));
 +  g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-calibrate", NULL));
    g_ptr_array_add (argv, g_strdup ("--device"));
-   g_ptr_array_add (argv, g_strdup (cd_device_get_id (priv->current_device)));
+   g_ptr_array_add (argv, g_strdup (cd_device_get_id (prefs->current_device)));
    g_ptr_array_add (argv, g_strdup ("--parent-window"));
-@@ -1136,7 +1136,7 @@
+@@ -1038,7 +1038,7 @@
  
    /* open up gcm-viewer as a info pane */
    argv = g_ptr_array_new_with_free_func (g_free);
@@ -18,38 +18,23 @@
    g_ptr_array_add (argv, g_strdup ("--profile"));
    g_ptr_array_add (argv, g_strdup (cd_profile_get_id (profile)));
    g_ptr_array_add (argv, g_strdup ("--parent-window"));
-@@ -1406,7 +1406,6 @@
+@@ -1288,15 +1288,12 @@
+ static void
  gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *device)
  {
-   GtkWidget *widget;
--  gchar *s;
-   CcColorPanelPrivate *priv = prefs->priv;
- 
+-  g_autofree gchar *s = NULL;
+-
    /* get profile */
-@@ -1416,11 +1415,9 @@
+   g_debug ("selected profile = %s",
+      cd_profile_get_filename (profile));
+ 
    /* allow getting profile info */
-   widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
-                "toolbutton_profile_view"));
 -  if (cd_profile_get_filename (profile) != NULL &&
 -      (s = g_find_program_in_path ("gcm-viewer")) != NULL)
 +  if (cd_profile_get_filename (profile) != NULL)
-     {
-       gtk_widget_set_sensitive (widget, TRUE);
--      g_free (s);
-     }
+     gtk_widget_set_sensitive (prefs->toolbutton_profile_view, TRUE);
    else
-       gtk_widget_set_sensitive (widget, FALSE);
---- a/panels/datetime/test-endianess.c
-+++ b/panels/datetime/test-endianess.c
-@@ -26,7 +26,7 @@
- 	GDir *dir;
- 	const char *name;
- 
--	dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL);
-+	dir = g_dir_open ("@glibc@/share/i18n/locales/", 0, NULL);
- 	if (dir == NULL) {
- 		/* Try with /usr/share/locale/
- 		 * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */
+     gtk_widget_set_sensitive (prefs->toolbutton_profile_view, FALSE);
 --- a/panels/datetime/tz.h
 +++ b/panels/datetime/tz.h
 @@ -27,11 +27,7 @@
@@ -67,7 +52,7 @@
  typedef struct _TzLocation TzLocation;
 --- a/panels/region/cc-region-panel.c
 +++ b/panels/region/cc-region-panel.c
-@@ -1388,10 +1388,10 @@
+@@ -1265,10 +1265,10 @@
          }
  
          if (variant && variant[0])
@@ -80,3 +65,14 @@
                                                 layout);
  
          g_spawn_command_line_async (commandline, NULL);
+--- a/tests/datetime/test-endianess.c
++++ b/tests/datetime/test-endianess.c
+@@ -26,7 +26,7 @@
+ 	g_autoptr(GDir) dir = NULL;
+ 	const char *name;
+ 
+-	dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL);
++	dir = g_dir_open ("@glibc@/share/i18n/locales/", 0, NULL);
+ 	if (dir == NULL) {
+ 		/* Try with /usr/share/locale/
+ 		 * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch
index ee9b012b6e45..59191bddd9af 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch
@@ -8,7 +8,7 @@
 -	    "--ro-bind", "/usr", "/usr",
 -	    "--ro-bind", "/lib", "/lib",
 -	    "--ro-bind", "/lib64", "/lib64",
-+	    "@BUBBLEWRAP_BIN@",
++	    "@bubblewrap_bin@",
 +      "--ro-bind", "/nix/store", "/nix/store",
  	    "--proc", "/proc",
  	    "--dev", "/dev",
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index 597f45261a68..b98a6a2d676f 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -1,25 +1,22 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, libxslt, which, libX11, gnome3, gtk3, glib
-, intltool, libxml2, xkeyboard_config, isocodes, itstool, wayland
-, libseccomp, bubblewrap, gobjectIntrospection, gtk-doc, docbook_xsl }:
+, gettext, libxml2, xkeyboard_config, isocodes, itstool, wayland
+, libseccomp, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl }:
 
 stdenv.mkDerivation rec {
   name = "gnome-desktop-${version}";
-  version = "3.28.2";
+  version = "3.30.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0c439hhpfd9axmv4af6fzhibksh69pnn2nnbghbbqqbwy6zqfl30";
+    sha256 = "0k6iccfj9naw42dl2mgljfvk12dmvg06plg86qd81nksrf9ycxal";
   };
 
-  # TODO: remove with 3.30
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
-    pkgconfig which itstool intltool libxslt libxml2 gobjectIntrospection
+    pkgconfig which itstool gettext libxslt libxml2 gobject-introspection
     gtk-doc docbook_xsl
   ];
   buildInputs = [
@@ -32,7 +29,7 @@ stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./bubblewrap-paths.patch;
-      BUBBLEWRAP_BIN = "${bubblewrap}/bin/bwrap";
+      bubblewrap_bin = "${bubblewrap}/bin/bwrap";
     })
   ];
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
index 587bd38f16b6..5d224623c3ca 100644
--- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-disk-utility-${version}";
-  version = "3.28.3";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-disk-utility/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "11ajz4cbsdns81kihd6242b6pwxbw8bkr9qqkf4qnb4kp363a38m";
+    sha256 = "1365fabz3q7n3bl775z82m1nzg18birxxyd7l2ssbbkqrx3h7wgi";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index 9d9c874319cb..1e3e98cba732 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     patchShebangs build
   '';
 
-  doCheck = true;
+  doCheck = !stdenv.isi686; # https://github.com/NixOS/nixpkgs/issues/51121
   # In 3.20.1, tests do not support Python 3
   checkInputs = [ dbus python2 ];
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/core/gnome-menus/default.nix
index 8a316b60f025..9d49eb5e007c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-menus/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-menus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, glib, gobjectIntrospection }:
+{ stdenv, fetchurl, intltool, pkgconfig, glib, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "gnome-menus-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib gobjectIntrospection ];
+  buildInputs = [ intltool glib gobject-introspection ];
 
   meta = {
     homepage = https://www.gnome.org;
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
index 023e7b2ce72f..677117b6b780 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, pkgconfig, vala, glib, libxslt, gtk, wrapGAppsHook
-, webkitgtk, json-glib, rest, libsecret, dbus-glib, gtk-doc
-, telepathy-glib, gettext, icu, glib-networking
-, libsoup, docbook_xsl, docbook_xsl_ns, gnome3, gcr, kerberos
+, webkitgtk, json-glib, rest, libsecret, gtk-doc, gobject-introspection
+, gettext, icu, glib-networking
+, libsoup, docbook_xsl, docbook_xml_dtd_412, gnome3, gcr, kerberos
 }:
 
 let
   pname = "gnome-online-accounts";
-  version = "3.28.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "035lmm21imr7ddpzffqabv53g3ggjscmqvlzy3j1qkv00zrlxg47";
+    sha256 = "1hyg9g7l4ypnirx2j7ms2vr8711x90aybpq3s3wa20ma8a4xin97";
   };
 
   outputs = [ "out" "man" "dev" "devdoc" ];
@@ -23,16 +23,17 @@ in stdenv.mkDerivation rec {
     "--enable-lastfm"
     "--enable-todoist"
     "--enable-gtk-doc"
+    "--enable-documentation"
   ];
 
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
-    pkgconfig vala gettext wrapGAppsHook
-    libxslt docbook_xsl docbook_xsl_ns gtk-doc
+    pkgconfig gobject-introspection vala gettext wrapGAppsHook
+    libxslt docbook_xsl docbook_xml_dtd_412 gtk-doc
   ];
   buildInputs = [
-    glib gtk webkitgtk json-glib rest libsecret dbus-glib telepathy-glib glib-networking icu libsoup
+    glib gtk webkitgtk json-glib rest libsecret glib-networking icu libsoup
     gcr kerberos
   ];
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
index 86e5fba36507..6deefaa36732 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-online-miners-${version}";
-  version = "3.26.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-online-miners/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "7f404db5eccb87524a5dfcef5b6f38b11047b371081559afbe48c34dbca2a98e";
+    sha256 = "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix
new file mode 100644
index 000000000000..6fab2d5b0b7f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitLab, meson, ninja, pkgconfig, python3, wrapGAppsHook
+, glib, pipewire, systemd, libvncserver, libsecret, libnotify, gdk_pixbuf, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-remote-desktop-${version}";
+  version = "0.1.6";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "jadahl";
+    repo = "gnome-remote-desktop";
+    rev = version;
+    sha256 = "1d49kxhi1bn8ssh6nybg7d6zajqwc653czbsms2d59dbhj8mn75f";
+  };
+
+  nativeBuildInputs = [ meson ninja pkgconfig python3 wrapGAppsHook ];
+
+  buildInputs = [
+    glib pipewire systemd libvncserver libsecret libnotify
+    gdk_pixbuf # For libnotify
+  ];
+
+  postPatch = ''
+    substituteInPlace meson.build --replace pipewire-0.1 pipewire-0.2
+
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
+  mesonFlags = [
+    "-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/Mutter/RemoteDesktop;
+    description = "GNOME Remote Desktop server";
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
index 21c28f0e9534..fc39ea812237 100644
--- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "gnome-screenshot";
-  version = "3.26.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1bbc11595d3822f4b92319cdf9ba49dd00f5471b6046c590847dc424a874c8bb";
+    sha256 = "06dx3svxq6sar4913mrz5lzb7hmc66wck138vmyxj8x8iv1iw0w8";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index 973613b3319e..ceda3dfd56fa 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-session-${version}";
-  version = "3.28.1";
+  version = "3.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "14nmbirgrp2nm16khbz109saqdlinlbrlhjnbjydpnrlimfgg4xq";
+    sha256 = "0fbpq103md4g9gi67rxnwvha21629nxx7qazddy6q6494sbqbzpa";
   };
 
   patches = [
@@ -38,11 +38,6 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    for desktopFile in $(grep -rl "Exec=gnome-session" $out/share)
-    do
-      echo "Patching gnome-session path in: $desktopFile"
-      sed -i "s,Exec=gnome-session,Exec=$out/bin/gnome-session," $desktopFile
-    done
     wrapProgram "$out/bin/gnome-session" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
index 3c56fd730e44..c1b5ebe842f9 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch
@@ -1,11 +1,11 @@
 --- a/gnome-session/gnome-session.in
 +++ b/gnome-session/gnome-session.in
-@@ -13,7 +13,7 @@
+@@ -13,7 +13,7 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
    fi
  fi
  
--SETTING=$(gsettings get org.gnome.system.locale region)
-+SETTING=$(@gsettings@ get org.gnome.system.locale region)
+-SETTING=$(G_MESSAGES_DEBUG= gsettings get org.gnome.system.locale region)
++SETTING=$(G_MESSAGES_DEBUG= @gsettings@ get org.gnome.system.locale region)
  REGION=${SETTING#\'}
  REGION=${REGION%\'}
  
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
index 25758ddea8dd..4d708de43046 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-settings-daemon-${version}";
-  version = "3.28.1";
+  version = "3.30.1.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0z9dip9p0iav646cmxisii5sbkdr9hmaklc5fzvschpbjkhphksr";
+    sha256 = "079dh609rvpwfyzg4m898q8km9g7x04hg18rwwb1izj1dr7zdp2w";
   };
 
   patches = [
@@ -19,9 +19,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  # fatal error: gio/gunixfdlist.h: No such file or directory
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   nativeBuildInputs = [ meson ninja pkgconfig perl gettext libxml2 libxslt docbook_xsl wrapGAppsHook python3 ];
 
   buildInputs = with gnome3; [
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
index 9609cd537964..92430125f7f8 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extensions-${version}";
-  version = "3.28.1";
+  version = "3.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0n4h8rdnq3knrvlg6inrl62a73h20dbhfgniwy18572jicrh5ip9";
+    sha256 = "1grxn4f5x754r172wmnf0h0xpy69afmj359zsj1rwgqlzw4i4c5p";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index 2b2572ac632a..c1d5a5a916b7 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -2,7 +2,7 @@
 , python3Packages, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core
 , libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info
 , libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils
-, libpulseaudio, libical, gobjectIntrospection, gstreamer, wrapGAppsHook, libxslt
+, libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt
 , accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet
 , sassc, systemd, gst_all_1 }:
 
@@ -13,16 +13,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "gnome-shell-${version}";
-  version = "3.28.3";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0xm2a8inj2zkrpgkhy69rbqh44q62gpwm4javzbvvvgx0srza90w";
+    sha256 = "0kacd4w9lc5finsvs170i7827qkxwd1ddj0g2giizwffpjdjqqr2";
   };
 
-  # Needed to find /etc/NetworkManager/VPN
-  mesonFlags = [ "--sysconfdir=/etc" ];
-
   LANG = "en_US.UTF-8";
 
   nativeBuildInputs = [
@@ -40,7 +37,7 @@ in stdenv.mkDerivation rec {
     gnome3.gnome-clocks # schemas needed
     at-spi2-core upower ibus gnome-desktop telepathy-logger gnome3.gnome-settings-daemon
     gst_all_1.gst-plugins-good # recording
-    gobjectIntrospection
+    gobject-introspection
 
     # not declared at build time, but typelib is needed at runtime
     libgweather networkmanagerapplet
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index 248acfd17896..fc822be4e0e9 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
-, glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobjectIntrospection, flatpak, fwupd
-, json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, gtk-doc, desktop-file-utils }:
+, glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobject-introspection, flatpak, fwupd
+, json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils }:
 
 stdenv.mkDerivation rec {
   name = "gnome-software-${version}";
-  version = "3.28.2";
+  version = "3.30.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1s19p50nrkvxg4sb7bkn9ccajgaj251y9iz20bkn31ysq19ih03w";
+    sha256 = "0d2x208qbkx8szkrfddv1bz4rd9awfhbxvh078j7zrrfmzvq7892";
   };
 
   patches = [
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xml_dtd_42
-    valgrind-light docbook_xsl gtk-doc desktop-file-utils gobjectIntrospection
+    meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xml_dtd_42 docbook_xml_dtd_43
+    valgrind-light docbook_xsl gtk-doc desktop-file-utils gobject-introspection
   ];
 
   buildInputs = [
@@ -31,10 +31,8 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Denable-rpm=false"
-    "-Denable-oauth=false"
-    "-Denable-ubuntu-reviews=false"
-    "-Denable-gudev=false"
+    "-Dubuntu_reviews=false"
+    "-Dgudev=false"
   ];
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix
index 23a41b6d6ae6..f31fbc3d3f4f 100644
--- a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix
@@ -22,6 +22,7 @@ in stdenv.mkDerivation rec {
     updateScript = gnome3.updateScript {
       packageName = pname;
       attrPath = "gnome3.${pname}";
+      versionPolicy = "none";
     };
   };
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix
index 7bee6f3a8809..a1e3ece3db40 100644
--- a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix
@@ -1,20 +1,20 @@
 { stdenv, gettext, fetchurl, pkgconfig, gtkmm3, libxml2, polkit
-, bash, gtk3, glib, wrapGAppsHook
+, bash, gtk3, glib, wrapGAppsHook, meson, ninja, python3
 , itstool, gnome3, librsvg, gdk_pixbuf, libgtop, systemd }:
 
 stdenv.mkDerivation rec {
   name = "gnome-system-monitor-${version}";
-  version = "3.28.2";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-system-monitor/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "164in885dyfvna5yjzgdyrbrsskvh5wzxdmkjgb4mbh54lzqd1zb";
+    sha256 = "0g0y565bjs6bdszrnxsz1f7hcm1x59i3mfvplysirh7nz3hpz888";
   };
 
   doCheck = true;
 
   nativeBuildInputs = [
-    pkgconfig gettext itstool wrapGAppsHook
+    pkgconfig gettext itstool wrapGAppsHook meson ninja python3
     polkit # for ITS file
   ];
   buildInputs = [
@@ -22,10 +22,11 @@ stdenv.mkDerivation rec {
     gnome3.gsettings-desktop-schemas systemd
   ];
 
-  # fails to build without --enable-static
-  configureFlags = ["--enable-systemd" "--enable-static"];
-
-  enableParallelBuilding = true;
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+    sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 13442af337a3..4765edbcf7e5 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-terminal-${version}";
-  version = "3.28.2";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0ybjansg6lr279191w8z8r45gy4rxwzw1ajm98cgkv0fk2jdr0x2";
+    sha256 = "0f2y76gs72sw5l5lkkkvxzsvvwm0sg83h7nl8lk5kz1v1rrc47vb";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
index d17be1e7182a..7062dbafce8a 100644
--- a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-user-docs-${version}";
-  version = "3.28.2";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0gg1rgg15lbgjdwpwlqazfjv8sm524ys024qsd4n09jlgx21jscd";
+    sha256 = "1pgsrvd79rqxa183wsmzh422y2zsg7fl5hskgc0s87jsc8b57fkg";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
index f03259c35409..124db9272363 100644
--- a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
+++ b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
@@ -1,22 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, intltool, sqlite
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, sqlite
 , gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp-av
 , gmime, json-glib, avahi, tracker, dleyna-server, itstool }:
 
 let
   pname = "grilo-plugins";
-  version = "0.3.7";
-  major = stdenv.lib.versions.majorMinor version;
+  version = "0.3.8";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
-    sha256 = "0838mm7sdfwsiw022rjb27dlbbxncpx5jrpv3qzfadli66y3nbzw";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "0nync07gah3jkpb5ph5d3gwbygmabnih2m3hfz7lkvjl2l5pgpac";
   };
 
-  installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-${major}" ];
-
-  nativeBuildInputs = [ pkgconfig intltool itstool ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool ];
   buildInputs = [
     gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata
     lua5 liboauth gupnp-av sqlite gnome3.gnome-online-accounts
@@ -36,7 +33,7 @@ in stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Projects/Grilo;
     description = "A collection of plugins for the Grilo framework";
     maintainers = gnome3.maintainers;
-    license = licenses.lgpl2;
+    license = licenses.lgpl21;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/grilo/default.nix b/pkgs/desktops/gnome-3/core/grilo/default.nix
index de50cc69ed03..acde7a385727 100644
--- a/pkgs/desktops/gnome-3/core/grilo/default.nix
+++ b/pkgs/desktops/gnome-3/core/grilo/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, vala, glib, liboauth, gtk3
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, vala, glib, liboauth, gtk3
 , gtk-doc, docbook_xsl, docbook_xml_dtd_43
-, libxml2, gnome3, gobjectIntrospection, libsoup }:
+, libxml2, gnome3, gobject-introspection, libsoup }:
 
 let
   pname = "grilo";
-  version = "0.3.6"; # if you change minor, also change ./setup-hook.sh
+  version = "0.3.7"; # if you change minor, also change ./setup-hook.sh
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -13,26 +13,25 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "14cwpk9jxi8rfjcmkav37zf0m52b1lqpkpkz858h80jqvn1clr8y";
+    sha256 = "1dz965l743r4bhj78wij9k1mb6635gnkb1lnk9j7gw9dd5qsyfza";
   };
 
+  patches = [
+    # Fix meson build: https://gitlab.gnome.org/GNOME/grilo/merge_requests/34
+    (fetchurl {
+      url = "https://gitlab.gnome.org/GNOME/grilo/commit/166612aeff09e5fc2fec1f62185c84cbdcf8f889.diff";
+      sha256 = "07zamy927iaa7knrwq5yxz7ypl1i02pymkcdrg5l55alhdvb81pw";
+    })
+  ];
+
   setupHook = ./setup-hook.sh;
 
-  configureFlags = [
-    "--enable-grl-pls"
-    "--enable-grl-net"
-    "--enable-gtk-doc"
+  mesonFlags = [
+    "-Dgtk_doc=true"
   ];
 
-  preConfigure = ''
-    for f in src/Makefile.in libs/pls/Makefile.in libs/net/Makefile.in; do
-       substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$dev/share/gir-1.0/"
-       substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0"
-    done
-  '';
-
   nativeBuildInputs = [
-    file intltool pkgconfig gobjectIntrospection vala
+    meson ninja pkgconfig gettext gobject-introspection vala
     gtk-doc docbook_xsl docbook_xml_dtd_43
   ];
   buildInputs = [ glib liboauth gtk3 libxml2 libsoup gnome3.totem-pl-parser ];
diff --git a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
index 657a40d1805e..dad0c8850b22 100644
--- a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gobject-introspection
   # just for passthru
 , gnome3 }:
 
 stdenv.mkDerivation rec {
   name = "gsettings-desktop-schemas-${version}";
-  version = "3.28.0";
+  version = "3.28.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gsettings-desktop-schemas/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0rwidacwrxlc54x90h9g3wx2zlisc4vm49vmxi15azmpj1vwvd2c";
+    sha256 = "0bshwm49cd01ighsxqlbqn10q0ch71ff99gcrx8pr2gyky2ad3pq";
   };
 
   passthru = {
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  buildInputs = [ glib gobjectIntrospection ];
+  buildInputs = [ glib gobject-introspection ];
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
diff --git a/pkgs/desktops/gnome-3/core/gsound/default.nix b/pkgs/desktops/gnome-3/core/gsound/default.nix
index 4468ce78f404..b0384c1ebb09 100644
--- a/pkgs/desktops/gnome-3/core/gsound/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsound/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, libcanberra, gobjectIntrospection, libtool, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, glib, libcanberra, gobject-introspection, libtool, gnome3 }:
 
 let
   pname = "gsound";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
     sha256 = "bba8ff30eea815037e53bee727bbd5f0b6a2e74d452a7711b819a7c444e78e53";
   };
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection libtool gnome3.vala ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection libtool gnome3.vala ];
   buildInputs = [ glib libcanberra ];
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix b/pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix
index 15e9ac41d6c6..6a0ee7fb56ad 100644
--- a/pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gtksourceviewmm/default.nix
@@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gtksourceviewmm"; attrPath = "gnome3.gtksourceviewmm"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gtksourceviewmm";
+      attrPath = "gnome3.gtksourceviewmm";
+      versionPolicy = "none";
+    };
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix
index 797eb00bd3ff..a968bfd2b569 100644
--- a/pkgs/desktops/gnome-3/core/gucharmap/default.nix
+++ b/pkgs/desktops/gnome-3/core/gucharmap/default.nix
@@ -2,13 +2,13 @@
 , glib, desktop-file-utils, gtk-doc, autoconf, automake, libtool
 , wrapGAppsHook, gnome3, itstool, libxml2, yelp-tools
 , docbook_xsl, docbook_xml_dtd_412, gsettings-desktop-schemas
-, callPackage, unzip, gobjectIntrospection }:
+, callPackage, unzip, gobject-introspection }:
 
 let
   unicode-data = callPackage ./unicode-data.nix {};
 in stdenv.mkDerivation rec {
   name = "gucharmap-${version}";
-  version = "11.0.1";
+  version = "11.0.3";
 
   outputs = [ "out" "lib" "dev" "devdoc" ];
 
@@ -17,22 +17,13 @@ in stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "gucharmap";
     rev = version;
-    sha256 = "13iw4fa6mv8vi8bkwk0bbhamnzbaih0c93p4rh07khq6mxa6hnpi";
+    sha256 = "1a590nxy8jdf6zxh6jdsyvhxyaz94ixx3aa1pj7gicf1aqp26vnh";
   };
 
-  patches = [
-    # Fix locale path to allow split outputs
-    # https://gitlab.gnome.org/GNOME/gucharmap/issues/10
-    (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gucharmap/commit/b2b03f16aa869ac0ec1a05c55c4d4e4c4b513576.patch;
-      sha256 = "1543mcyz96x23m9pzx04ny15m4a2pqmiksl1y5r51k3sw4fyisci";
-    })
-  ];
-
   nativeBuildInputs = [
     pkgconfig wrapGAppsHook unzip intltool itstool
     autoconf automake libtool gtk-doc docbook_xsl docbook_xml_dtd_412
-    yelp-tools libxml2 desktop-file-utils gobjectIntrospection
+    yelp-tools libxml2 desktop-file-utils gobject-introspection
   ];
 
   buildInputs = [ gtk3 glib gsettings-desktop-schemas defaultIconTheme ];
diff --git a/pkgs/desktops/gnome-3/core/libgdata/default.nix b/pkgs/desktops/gnome-3/core/libgdata/default.nix
index be32528ef6c0..4cbf0a78d894 100644
--- a/pkgs/desktops/gnome-3/core/libgdata/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgdata/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxml2, glib, json-glib
-, gobjectIntrospection, liboauth, gnome3, p11-kit, openssl, uhttpmock }:
+, gobject-introspection, liboauth, gnome3, p11-kit, openssl, uhttpmock }:
 
 let
   pname = "libgdata";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup.dev}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1";
 
   buildInputs = with gnome3;
-    [ pkgconfig libsoup intltool libxml2 glib gobjectIntrospection
+    [ pkgconfig libsoup intltool libxml2 glib gobject-introspection
       liboauth gcr gnome-online-accounts p11-kit openssl uhttpmock ];
 
   propagatedBuildInputs = [ json-glib ];
diff --git a/pkgs/desktops/gnome-3/core/libgee/default.nix b/pkgs/desktops/gnome-3/core/libgee/default.nix
index ea0860a3c4e4..2de8b430843c 100644
--- a/pkgs/desktops/gnome-3/core/libgee/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgee/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobject-introspection, gnome3 }:
 let
   pname = "libgee";
   version = "0.20.1";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig autoconf vala gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig autoconf vala gobject-introspection ];
   buildInputs = [ glib ];
 
   PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0";
diff --git a/pkgs/desktops/gnome-3/core/libgepub/default.nix b/pkgs/desktops/gnome-3/core/libgepub/default.nix
index ad7d2a8ebd43..26531a61ffaa 100644
--- a/pkgs/desktops/gnome-3/core/libgepub/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgepub/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobjectIntrospection, gnome3
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobject-introspection, gnome3
 , webkitgtk, libsoup, libxml2, libarchive }:
 
 let
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection ];
   buildInputs = [ glib webkitgtk libsoup libxml2 libarchive ];
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix
index 867e08de00ec..bc0f5683a75f 100644
--- a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, dbus, libgcrypt, pkgconfig, intltool, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, glib, dbus, libgcrypt, pkgconfig, intltool, gobject-introspection, gnome3 }:
 
 let
   pname = "libgnome-keyring";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  propagatedBuildInputs = [ glib gobjectIntrospection dbus libgcrypt ];
+  propagatedBuildInputs = [ glib gobject-introspection dbus libgcrypt ];
   nativeBuildInputs = [ pkgconfig intltool ];
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index b0d3679b1b71..f9feb21749ae 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, libxml2, glib, gtk, gettext, libsoup
-, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gobjectIntrospection, python3, tzdata, geocode-glib, vala, gnome3 }:
+, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gobject-introspection, python3, tzdata, geocode-glib, vala, gnome3 }:
 
 let
   pname = "libgweather";
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
     sha256 = "0xfy5ghwvnz2g9074dy6512m4z2pv66pmja14vhi9imgacbfh708";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext vala gtk-doc docbook_xsl docbook_xml_dtd_43 gobjectIntrospection python3 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext vala gtk-doc docbook_xsl docbook_xml_dtd_43 gobject-introspection python3 ];
   buildInputs = [ glib gtk libsoup libxml2 geocode-glib ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/core/libgxps/default.nix b/pkgs/desktops/gnome-3/core/libgxps/default.nix
index 68193bad5833..852a546f4bf3 100644
--- a/pkgs/desktops/gnome-3/core/libgxps/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgxps/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobjectIntrospection, cairo
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobject-introspection, cairo
 , libarchive, freetype, libjpeg, libtiff, gnome3, fetchpatch
 }:
 
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection ];
   buildInputs = [ glib cairo freetype libjpeg libtiff ];
   propagatedBuildInputs = [ libarchive ];
 
diff --git a/pkgs/desktops/gnome-3/core/libpeas/default.nix b/pkgs/desktops/gnome-3/core/libpeas/default.nix
index 03c79a27d818..fdbeb94c5054 100644
--- a/pkgs/desktops/gnome-3/core/libpeas/default.nix
+++ b/pkgs/desktops/gnome-3/core/libpeas/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, gnome3
-, glib, gtk3, gobjectIntrospection, python3Packages, ncurses
+, glib, gtk3, gobject-introspection, python3Packages, ncurses
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs =  [ intltool glib gtk3 gnome3.defaultIconTheme ncurses python3Packages.python python3Packages.pygobject3 ];
   propagatedBuildInputs = [
     # Required by libpeas-1.0.pc
-    gobjectIntrospection
+    gobject-introspection
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
index 42a7832a2419..5c0291767877 100644
--- a/pkgs/desktops/gnome-3/core/libzapojit/default.nix
+++ b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool, json-glib, rest, libsoup, gnome-online-accounts, gnome3, gobjectIntrospection }:
+{ stdenv, fetchurl, pkgconfig, glib, intltool, json-glib, rest, libsoup, gnome-online-accounts, gnome3, gobject-introspection }:
 let
   pname = "libzapojit";
   version = "0.0.3";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
   propagatedBuildInputs = [ glib json-glib rest libsoup gnome-online-accounts ]; # zapojit-0.0.pc
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/mutter/3.28.nix b/pkgs/desktops/gnome-3/core/mutter/3.28.nix
new file mode 100644
index 000000000000..e80212713aae
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/mutter/3.28.nix
@@ -0,0 +1,55 @@
+{ fetchurl, stdenv, fetchpatch, pkgconfig, gnome3, intltool, gobject-introspection, upower, cairo
+, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3
+, libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
+, pipewire, libgudev, libwacom, xwayland, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "mutter-${version}";
+  version = "3.28.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/mutter/3.28/${name}.tar.xz";
+    sha256 = "0vq3rmq20d6b1mi6sf67wkzqys6hw5j7n7fd4hndcp19d5i26149";
+  };
+
+  configureFlags = [
+    "--with-x"
+    "--disable-static"
+    "--enable-shape"
+    "--enable-sm"
+    "--enable-startup-notification"
+    "--enable-xsync"
+    "--enable-verbose-mode"
+    "--with-libcanberra"
+    "--with-xwayland-path=${xwayland}/bin/Xwayland"
+    "--enable-compile-warnings=maximum"
+  ];
+
+  propagatedBuildInputs = [
+    # required for pkgconfig to detect mutter-clutter
+    libXtst
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig intltool libtool makeWrapper ];
+
+  buildInputs = with gnome3; [
+    glib gobject-introspection gtk gsettings-desktop-schemas upower
+    gnome-desktop cairo pango cogl clutter zenity libstartup_notification
+    gnome3.geocode-glib libinput libgudev libwacom
+    libcanberra-gtk3 zenity xkeyboard_config libxkbfile
+    libxkbcommon pipewire
+  ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/mutter" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index 34830117b777..9a1418cbe0a9 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -1,33 +1,25 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
+{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobject-introspection, upower, cairo
 , pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3
 , libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
-, pipewire, libgudev, libwacom, xwayland, autoreconfHook, fetchpatch }:
+, pipewire, libgudev, libwacom, xwayland, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "mutter-${version}";
-  version = "3.28.3";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0vq3rmq20d6b1mi6sf67wkzqys6hw5j7n7fd4hndcp19d5i26149";
+    sha256 = "0qr3w480p31nbiad49213rj9rk6p9fl82a68pzznpz36p30dq96z";
   };
 
   passthru = {
     updateScript = gnome3.updateScript { packageName = "mutter"; attrPath = "gnome3.mutter"; };
   };
 
-  patches = [
-    # https://gitlab.gnome.org/GNOME/mutter/merge_requests/172
-    (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/mutter/commit/62660bbd.patch;
-      sha256 = "1qq8vxlqnyrqh94dc0dh1aj1dsbyw6bwv3x46q5vsscbbxbiv9wk";
-    })
-  ];
-
   configureFlags = [
     "--with-x"
     "--disable-static"
-    # "--enable-remote-desktop"
+    "--enable-remote-desktop"
     "--enable-shape"
     "--enable-sm"
     "--enable-startup-notification"
@@ -45,7 +37,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig intltool libtool makeWrapper ];
 
   buildInputs = with gnome3; [
-    glib gobjectIntrospection gtk gsettings-desktop-schemas upower
+    glib gobject-introspection gtk gsettings-desktop-schemas upower
     gnome-desktop cairo pango cogl clutter zenity libstartup_notification
     gnome3.geocode-glib libinput libgudev libwacom
     libcanberra-gtk3 zenity xkeyboard_config libxkbfile
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 4201bdb968da..f37a86be4f1f 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -1,23 +1,23 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2, desktop-file-utils, python3, wrapGAppsHook
-, gtk, gnome3, gnome-autoar, glib-networking, shared-mime-info, libnotify, libexif
+, gtk, gnome3, gnome-autoar, glib-networking, shared-mime-info, libnotify, libexif, libseccomp
 , exempi, librsvg, tracker, tracker-miners, gnome-desktop, gexiv2, libselinux, gdk_pixbuf }:
 
 let
   pname = "nautilus";
-  version = "3.28.1";
+  version = "3.30.4";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "19dhpa2ylrg8d5274lahy7xqr2p9z3jnq1h4qmsh95czkpy7is4w";
+    sha256 = "1fcavvv85mpaz53k5kx5mls7npx7b95s8isnhrgq2iglz4kpr7s1";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig libxml2 gettext python3 wrapGAppsHook desktop-file-utils ];
 
   buildInputs = [
     glib-networking shared-mime-info libexif gtk exempi libnotify libselinux
-    tracker tracker-miners gnome-desktop gexiv2
+    tracker tracker-miners gnome-desktop gexiv2 libseccomp
     gnome3.adwaita-icon-theme gnome3.gsettings-desktop-schemas
   ];
 
diff --git a/pkgs/desktops/gnome-3/core/rest/default.nix b/pkgs/desktops/gnome-3/core/rest/default.nix
index b00e4c623d2a..70cc31cd706c 100644
--- a/pkgs/desktops/gnome-3/core/rest/default.nix
+++ b/pkgs/desktops/gnome-3/core/rest/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobject-introspection, gnome3 }:
 
 let
   pname = "rest";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libsoup gobjectIntrospection];
+  buildInputs = [ glib libsoup gobject-introspection];
 
   configureFlags = [ "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt" ];
 
diff --git a/pkgs/desktops/gnome-3/core/rygel/default.nix b/pkgs/desktops/gnome-3/core/rygel/default.nix
index ef0886328974..5d60500b3636 100644
--- a/pkgs/desktops/gnome-3/core/rygel/default.nix
+++ b/pkgs/desktops/gnome-3/core/rygel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, vala, gettext, libxml2, gobjectIntrospection, gtk-doc, wrapGAppsHook, glib, gssdp, gupnp, gupnp-av, gupnp-dlna, gst_all_1, libgee, libsoup, gtk3, libmediaart, sqlite, systemd, tracker, shared-mime-info, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, vala, gettext, libxml2, gobject-introspection, gtk-doc, wrapGAppsHook, glib, gssdp, gupnp, gupnp-av, gupnp-dlna, gst_all_1, libgee, libsoup, gtk3, libmediaart, sqlite, systemd, tracker, shared-mime-info, gnome3 }:
 
 let
   pname = "rygel";
@@ -15,7 +15,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pkgconfig vala gettext libxml2 gobjectIntrospection gtk-doc wrapGAppsHook
+    pkgconfig vala gettext libxml2 gobject-introspection gtk-doc wrapGAppsHook
   ];
   buildInputs = [
     glib gssdp gupnp gupnp-av gupnp-dlna libgee libsoup gtk3 libmediaart sqlite systemd tracker shared-mime-info
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index 3d7e78fa18df..ef79f972ff0f 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -1,54 +1,38 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, python3, wrapGAppsHook
 , cairo, gdk_pixbuf, colord, glib, gtk, gusb, packagekit, libwebp
-, libxml2, sane-backends, vala, gnome3, gobjectIntrospection }:
+, libxml2, sane-backends, vala, gnome3, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "simple-scan-${version}";
-  version = "3.28.1";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "140vz94vml0vf6kiw3sg436qfvajk21x6q86smvycgf24qfyvk6a";
+    sha256 = "0dknvdjlnxrp9nxd3yr8wyjc4kv94nwglss8pr6rfvl4hnlly53i";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "simple-scan"; };
-  };
-
-  buildInputs = [ cairo gdk_pixbuf colord glib gnome3.defaultIconTheme gusb
-                gtk libwebp packagekit sane-backends vala ];
+  buildInputs = [
+    cairo gdk_pixbuf colord glib gnome3.defaultIconTheme gusb
+    gtk libwebp packagekit sane-backends vala
+  ];
   nativeBuildInputs = [
     meson ninja gettext itstool pkgconfig python3 wrapGAppsHook libxml2
     # For setup hook
-    gobjectIntrospection
+    gobject-introspection
   ];
 
   postPatch = ''
     patchShebangs data/meson_compile_gschema.py
-
-    sed -i -e 's#Icon=scanner#Icon=simple-scan#g' ./data/simple-scan.desktop.in
   '';
 
-  postInstall = ''
-    mkdir -p $out/share/icons
-    mv $out/share/simple-scan/icons/* $out/share/icons/
-    (
-    cd ${gnome3.defaultIconTheme}/share/icons/Adwaita
-    for f in `find . | grep 'scanner\.'`
-    do
-      local outFile="`echo "$out/share/icons/hicolor/$f" | sed \
-        -e 's#/devices/#/apps/#g' \
-        -e 's#scanner\.#simple-scan\.#g'`"
-      mkdir -p "`realpath -m "$outFile/.."`"
-      cp "$f" "$outFile"
-    done
-    )
-  '';
-
-  enableParallelBuilding = true;
-
   doCheck = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "simple-scan";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Simple scanning utility";
     longDescription = ''
@@ -59,7 +43,7 @@ stdenv.mkDerivation rec {
       XSANE uses. This means that all existing scanners will work and the
       interface is well tested.
     '';
-    homepage = https://launchpad.net/simple-scan;
+    homepage = https://gitlab.gnome.org/GNOME/simple-scan;
     license = licenses.gpl3Plus;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/core/sushi/default.nix
index 1881293a2134..77c216e73764 100644
--- a/pkgs/desktops/gnome-3/core/sushi/default.nix
+++ b/pkgs/desktops/gnome-3/core/sushi/default.nix
@@ -1,45 +1,35 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, gobjectIntrospection, glib
-, clutter-gtk, clutter-gst, gnome3, gtksourceview
-, webkitgtk, libmusicbrainz5, icu, makeWrapper, gst_all_1
+{ stdenv, fetchurl, pkgconfig, file, intltool, gobject-introspection, glib
+, clutter-gtk, clutter-gst, gnome3, aspell, hspell, gtksourceview, gjs
+, webkitgtk, libmusicbrainz5, icu, wrapGAppsHook, gst_all_1
 , gdk_pixbuf, librsvg, gtk3, harfbuzz }:
 
 stdenv.mkDerivation rec {
   name = "sushi-${version}";
-  version = "3.28.3";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/sushi/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1yydd34q7r05z0jdgym3r4f8jv8snrcvvhxw0vxn6damlvj5lbiw";
+    sha256 = "0zpaiw5r734fky3zq95a6szwn7srbkpixajqg2xvdivhhx4mbnnj";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "sushi"; attrPath = "gnome3.sushi"; };
-  };
-
-  propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ file intltool gobjectIntrospection glib gtk3
-                  clutter-gtk clutter-gst gnome3.gjs gtksourceview gdk_pixbuf
-                  librsvg gnome3.defaultIconTheme libmusicbrainz5 webkitgtk
-                  gnome3.evince icu makeWrapper harfbuzz ];
+  nativeBuildInputs = [ pkgconfig file intltool gobject-introspection wrapGAppsHook ];
+  buildInputs = [
+    glib gtk3 gnome3.evince icu harfbuzz
+    clutter-gtk clutter-gst gjs gtksourceview gdk_pixbuf
+    librsvg libmusicbrainz5 webkitgtk
+    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+    # cannot find -laspell, -lhspell
+    aspell hspell
+  ];
 
   enableParallelBuilding = true;
 
-  postConfigure = ''
-    substituteInPlace src/libsushi/sushi-font-widget.h \
-        --replace "<hb-ft.h>" "<harfbuzz/hb-ft.h>"
-    substituteInPlace src/libsushi/sushi-font-widget.c \
-        --replace "<hb-glib.h>" "<harfbuzz/hb-glib.h>"
-  '';
-
-  preFixup = ''
-    wrapProgram $out/libexec/sushi-start \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "sushi";
+      attrPath = "gnome3.sushi";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = "https://en.wikipedia.org/wiki/Sushi_(software)";
diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
index cb10213631ce..baf42b88e15b 100644
--- a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gmime, libxml2, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gmime, libxml2, gobject-introspection, gnome3 }:
 
 stdenv.mkDerivation rec {
   name = "totem-pl-parser-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     updateScript = gnome3.updateScript { packageName = "totem-pl-parser"; attrPath = "gnome3.totem-pl-parser"; };
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection ];
   buildInputs = [ gmime libxml2 ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix
index 2082dc0ac059..baecba8d3550 100644
--- a/pkgs/desktops/gnome-3/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, meson, ninja, intltool, gst_all_1
 , clutter-gtk, clutter-gst, python3Packages, shared-mime-info
-, pkgconfig, gtk3, glib, gobjectIntrospection
+, pkgconfig, gtk3, glib, gobject-introspection
 , wrapGAppsHook, itstool, libxml2, vala, gnome3
 , gdk_pixbuf, tracker, nautilus }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
-  nativeBuildInputs = [ meson ninja vala pkgconfig intltool python3Packages.python itstool gobjectIntrospection wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja vala pkgconfig intltool python3Packages.python itstool gobject-introspection wrapGAppsHook ];
   buildInputs = [
     gtk3 glib gnome3.grilo clutter-gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins
     gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
index 1f28c9f0fd05..5e57a22906c8 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
@@ -8,11 +8,11 @@ let
   pname = "tracker-miners";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "2.1.3";
+  version = "2.1.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "10j6iifq0ccnqckdx7fqlrfifbvs08jbczgxajldz26057kwp8fz";
+    sha256 = "1kdq7fk9c80ngg65p31pjdk4za0fq7nfhblqsma9alvkam5kvzgm";
   };
 
   nativeBuildInputs = [
@@ -63,6 +63,7 @@ in stdenv.mkDerivation rec {
   mesonFlags = [
     # TODO: tests do not like our sandbox
     "-Dfunctional_tests=false"
+    "-Ddbus_services=${placeholder "out"}/share/dbus-1/services"
   ];
 
   patches = [
@@ -77,13 +78,6 @@ in stdenv.mkDerivation rec {
     })
   ];
 
-  # Symlinks require absolute path and we still cannot use placeholders
-  # https://github.com/NixOS/nixpkgs/pull/39534#discussion_r184339131
-  # https://github.com/NixOS/nixpkgs/pull/37693
-  preConfigure = ''
-    mesonFlagsArray+=("-Ddbus_services=$out/share/dbus-1/services")
-  '';
-
   postInstall = ''
     glib-compile-schemas "$out/share/glib-2.0/schemas"
   '';
diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix
index c53324dd9b3b..14795064cb49 100644
--- a/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, intltool, meson, ninja, pkgconfig, gobjectIntrospection, python2
+{ stdenv, fetchurl, fetchFromGitLab, intltool, meson, ninja, pkgconfig, gobject-introspection, python2
 , gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_43, glibcLocales
 , libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt, libstemmer
 , gnome3, icu, libuuid, networkmanager, libsoup, json-glib }:
 
 let
   pname = "tracker";
-  version = "2.1.4";
+  version = "2.1.6";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -13,11 +13,11 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0xf58zld6pnfa8k7k70rv8ya8g7zqgahz6q4sapwxs6k97d2fgsx";
+    sha256 = "143zapq50lggj3mpqg2y4rh1hgnkbn9vgvzpqxr7waiawsmx0awq";
   };
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig intltool libxslt wrapGAppsHook gobjectIntrospection
+    meson ninja vala pkgconfig intltool libxslt wrapGAppsHook gobject-introspection
     gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_43 glibcLocales
     python2 # for data-generators
   ];
@@ -30,10 +30,19 @@ in stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-Ddbus_services=share/dbus-1/services"
+    "-Dsystemd_user_services=lib/systemd/user"
     # TODO: figure out wrapping unit tests, some of them fail on missing gsettings-desktop-schemas
     "-Dfunctional_tests=false"
   ];
 
+  patches = [
+    # Always generate tracker-sparql.h in time
+    (fetchurl {
+      url = https://gitlab.gnome.org/GNOME/tracker/commit/3cbfaa5b374e615098e60eb4430f108b642ebe76.diff;
+      sha256 = "0smavzvsglpghggrcl8sjflki13nh7pr0jl2yv6ymbf5hr1c4dws";
+    })
+  ];
+
   postPatch = ''
     patchShebangs utils/g-ir-merge/g-ir-merge
     patchShebangs utils/data-generators/cc/generate
diff --git a/pkgs/desktops/gnome-3/core/vte/2.90.nix b/pkgs/desktops/gnome-3/core/vte/2.90.nix
index 7cd72ceee42c..52bf198f29ce 100644
--- a/pkgs/desktops/gnome-3/core/vte/2.90.nix
+++ b/pkgs/desktops/gnome-3/core/vte/2.90.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }:
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   versionMajor = "0.36";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gobjectIntrospection intltool gnome3.glib gnome3.gtk3 ncurses ];
+  buildInputs = [ gobject-introspection intltool gnome3.glib gnome3.gtk3 ncurses ];
 
   configureFlags = [ "--enable-introspection" ];
 
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
index 3fff1dab39c8..96b18a7d7c56 100644
--- a/pkgs/desktops/gnome-3/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/core/vte/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, intltool, pkgconfig
-, gnome3, ncurses, gobjectIntrospection, vala, libxml2, gnutls
+, gnome3, ncurses, gobject-introspection, vala, libxml2, gnutls
 , gperf, pcre2
 }:
 
 stdenv.mkDerivation rec {
   name = "vte-${version}";
-  version = "0.52.2";
+  version = "0.54.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/vte/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1br6kg0wzf1wmww1hadihhcpqbamalqmbppfdzjvzk1ayp75f9hg";
+    sha256 = "0d1q2nc7lic4zax6csy7xdxq8hxjsf7m7dq6a21s1w8s2fslhzaj";
   };
 
   passthru = {
     updateScript = gnome3.updateScript { packageName = "vte"; attrPath = "gnome3.vte"; };
   };
 
-  nativeBuildInputs = [ gobjectIntrospection intltool pkgconfig vala gperf libxml2 ];
+  nativeBuildInputs = [ gobject-introspection intltool pkgconfig vala gperf libxml2 ];
   buildInputs = [ gnome3.glib gnome3.gtk3 ncurses ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index e5ed1f31d703..7e98012998dc 100644
--- a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "yelp-xsl-${version}";
-  version = "3.28.0";
+  version = "3.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "14rznm1qpsnmkwksnkd5j7zplakl01kvrcw0fdmd5gdc65xz9kcc";
+    sha256 = "0ffgp3ymcc11r9sdndliwwngljcy1mfqpfxsdfbm8rlcjg2k3vzw";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/yelp/default.nix b/pkgs/desktops/gnome-3/core/yelp/default.nix
index 0a7918d01bf5..26bcb3171902 100644
--- a/pkgs/desktops/gnome-3/core/yelp/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "yelp-${version}";
-  version = "3.28.1";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "033w5qnhm495pnvscnb3k2dagzgq4fsnzcrh0k2rgr10mw2mv2p8";
+    sha256 = "060a902j15k76fyhk8xfl38ipvrrcc0qd7nm2mcck4ifb45b0zv4";
   };
 
   nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/core/zenity/default.nix
index 2eb515d971b8..e80c437afdae 100644
--- a/pkgs/desktops/gnome-3/core/zenity/default.nix
+++ b/pkgs/desktops/gnome-3/core/zenity/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "zenity-${version}";
-  version = "3.28.1";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/zenity/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0swavrkc5ps3fwzy6h6l5mmim0wwy10xrq0qqkay5d0zf9a965yv";
+    sha256 = "1wipnp46pd238z9ck5rsckbaw7yla6c936fswq5w94k4c6bgcplr";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 7e4fb77b2b34..436b12d10644 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -3,7 +3,7 @@
 lib.makeScope pkgs.newScope (self: with self; {
   updateScript = callPackage ./update.nix { };
 
-  maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar ];
+  maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning ];
 
   corePackages = with gnome3; [
     pkgs.desktop-file-utils
@@ -35,7 +35,7 @@ lib.makeScope pkgs.newScope (self: with self; {
     hitori gnome-taquin
   ];
 
-  inherit (pkgs) atk glib gobjectIntrospection gspell webkitgtk gtk3 gtkmm3
+  inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3
     libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceview4
     easytag meld orca rhythmbox shotwell gnome-usage
     clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle;
@@ -45,8 +45,8 @@ lib.makeScope pkgs.newScope (self: with self; {
   gnome3 = self // { recurseForDerivations = false; };
   gtk = gtk3;
   gtkmm = gtkmm3;
-  vala = pkgs.vala_0_40;
-  gegl_0_3 = pkgs.gegl_0_3.override { inherit gtk; };
+  vala = pkgs.vala_0_42;
+  gegl_0_4 = pkgs.gegl_0_4.override { inherit gtk; };
 
 # Simplify the nixos module and gnome packages
   defaultIconTheme = adwaita-icon-theme;
@@ -121,6 +121,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-online-miners = callPackage ./core/gnome-online-miners { };
 
+  gnome-remote-desktop = callPackage ./core/gnome-remote-desktop { };
+
   gnome-session = callPackage ./core/gnome-session { };
 
   gnome-shell = callPackage ./core/gnome-shell { };
@@ -179,6 +181,11 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   mutter = callPackage ./core/mutter { };
 
+  # Needed for elementary's gala and greeter until they get around to adapting to all the API breaking changes in libmutter-3
+  # A more detailed explaination can be seen here https://decathorpe.com/2018/09/04/call-for-help-pantheon-on-fedora-29.html
+  # See Also: https://github.com/elementary/gala/issues/303
+  mutter328 = callPackage ./core/mutter/3.28.nix { };
+
   nautilus = callPackage ./core/nautilus { };
 
   networkmanager-openvpn = pkgs.networkmanager-openvpn.override {
@@ -246,8 +253,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   accerciser = callPackage ./apps/accerciser { };
 
-  bijiben = callPackage ./apps/bijiben { };
-
   cheese = callPackage ./apps/cheese { };
 
   evolution = callPackage ./apps/evolution { };
@@ -280,8 +285,10 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-nettool = callPackage ./apps/gnome-nettool { };
 
+  gnome-notes = callPackage ./apps/gnome-notes { };
+
   gnome-photos = callPackage ./apps/gnome-photos {
-    gegl = gegl_0_3;
+    gegl = gegl_0_4;
   };
 
   gnome-power-manager = callPackage ./apps/gnome-power-manager { };
@@ -395,12 +402,10 @@ lib.makeScope pkgs.newScope (self: with self; {
   gnome-video-effects = callPackage ./misc/gnome-video-effects { };
 
   gnome-packagekit = callPackage ./misc/gnome-packagekit { };
-
-  # TODO: remove this after 18.09 has forked off
-  gconf = throw "gconf is deprecated since 2009 and has been removed from the package set. Use gnome2.GConf instead. For more details see https://github.com/NixOS/nixpkgs/pull/43268";
 } // lib.optionalAttrs (config.allowAliases or true) {
 #### Legacy aliases
 
+  bijiben = gnome-notes; # added 2018-09-26
   evolution_data_server = evolution-data-server; # added 2018-02-25
   geocode_glib = geocode-glib; # added 2018-02-25
   glib_networking = glib-networking; # added 2018-02-25
diff --git a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
index b20a85b9e717..052cd49998d1 100644
--- a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
+++ b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, glib, amtk, appstream-glib, gobjectIntrospection, python3
+, glib, amtk, appstream-glib, gobject-introspection, python3
 , webkitgtk, gettext, itstool, gsettings-desktop-schemas }:
 
 stdenv.mkDerivation rec {
   name = "devhelp-${version}";
-  version = "3.30.0";
+  version = "3.30.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/devhelp/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1rzilsn0v8dj86djankllc5f10d58f6rwg4w1fffh5zly10nlli5";
+    sha256 = "036sddvhs0blqpc2ixmjdl9vxynvkn5jpgn0jxr1fxcm4rh3q07a";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook appstream-glib gobjectIntrospection python3 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool wrapGAppsHook appstream-glib gobject-introspection python3 ];
   buildInputs = [
     glib gtk3 webkitgtk amtk
     gnome3.defaultIconTheme gsettings-desktop-schemas
diff --git a/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix b/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix
index c23ff2e65159..534c23da82c9 100644
--- a/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix
+++ b/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-devel-docs-${version}";
-  version = "3.28.0";
+  version = "3.30.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-devel-docs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1py0zyfzpaws41p9iw4645ykfnmm408axfghsmq6gnwgp66vl074";
+    sha256 = "1sssxagf0aaiyld8731247qq74bnrnq4arr7mpjrg0j6gwdfgxia";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/devtools/nemiver/default.nix b/pkgs/desktops/gnome-3/devtools/nemiver/default.nix
index d48565716c40..c8440037d3c9 100644
--- a/pkgs/desktops/gnome-3/devtools/nemiver/default.nix
+++ b/pkgs/desktops/gnome-3/devtools/nemiver/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     updateScript = gnome3.updateScript {
       packageName = "nemiver";
       attrPath = "gnome3.nemiver";
+      versionPolicy = "none";
     };
   };
 
diff --git a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
index cc9451597169..1de85ab36d25 100644
--- a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extension-caffeine-${version}";
-  version = "unstable-2017-06-21";
+  version = "unstable-2018-09-25";
 
   src = fetchFromGitHub {
     owner = "eonpatapon";
     repo = "gnome-shell-extension-caffeine";
-    rev = "ce0d0d4d3a9fed4b35b82cf59609a00502862271";
-    sha256 = "01gf9c8nhhm78iakqf30900y6lywxks1pm5h2cs0jvp8d3ygd7sd";
+    rev = "71b6392c53e063563602c3d919c0ec6a4c5c9733";
+    sha256 = "170zyxa41hvyi463as650nw3ygr297901inr3xslrhvjq1qacxri";
   };
 
   uuid = "caffeine@patapon.info";
diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
index 152b9522beff..62420bf42b26 100644
--- a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-dash-to-dock-${version}";
-  version = "v63";
+  version = "64";
 
   src = fetchFromGitHub {
     owner = "micheleg";
     repo = "dash-to-dock";
-    rev = "extensions.gnome.org-" + version;
-    sha256 = "140ih4l3nn2lbgw684xjvkhqxflr1xg2vm1m46z632bb0y3py4yg";
+    rev = "extensions.gnome.org-v" + version;
+    sha256 = "1cfkdi4raim50wif47fly4c0lzyamysv40qd5ppr1h824bamzxcm";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
index 3baedbf0c594..de442d912b32 100644
--- a/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-dash-to-panel-${version}";
-  version = "11";
+  version = "16";
 
   src = fetchFromGitHub {
     owner = "jderose9";
     repo = "dash-to-panel";
     rev = "v${version}";
-    sha256 = "1bfcnrhw6w8yrz8sw520kwwshmplkg4awpvz07kg4d73m6zn4mw2";
+    sha256 = "1gi2qfinafihax0j0rbs1k5nf6msdv86gzl2vfkc8s6gfkncv9bp";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix b/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
index 7ad26a7c6d42..bc397dc7122a 100644
--- a/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extension-icon-hider-${version}";
-  version = "19";
+  version = "21";
 
   src = fetchFromGitHub {
     owner = "ikalnytskyi";
     repo = "gnome-shell-extension-icon-hider";
     rev = "v${version}";
-    sha256 = "0cifm6cmxwxrrrva41wvjvrzsdqaczfbillf2vv3wsb60dqr6h39";
+    sha256 = "0l0jb0ishaq00d4kdfvv5p7pj7b45dz57y3j2ihqr695bzb6b9hr";
   };
 
   uuid = "icon-hider@kalnitsky.org";
diff --git a/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix b/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix
index 43e94ce6bfbb..e1dedd2a88be 100644
--- a/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extension-no-title-bar-${version}";
-  version = "8";
+  version = "9";
 
   src = fetchFromGitHub {
     owner = "franglais125";
     repo = "no-title-bar";
     rev = "v${version}";
-    sha256 = "0n3ayf7k2icy913sjl1d6iwm21i8fivv0f7wj7gck8q7q2j7i3bz";
+    sha256 = "02zm61fg40r005fn2rvgrbsz2hbcsmp2hkhyilqbmpilw35y0nbq";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix b/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix
index 4061c3bb5cc4..07622e07a725 100644
--- a/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/nohotcorner/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extension-nohotcorner-${version}";
-  version = "16.0";
+  version = "18.0";
 
   src = fetchFromGitHub {
     owner = "HROMANO";
     repo = "nohotcorner";
     rev = "v${version}";
-    sha256 = "042lv4pvzsxv6spa8k1hji1bfqj893arx55p56mmm20wa5dr5qm3";
+    sha256 = "0vajiys93gs7fs9v6brgf8fplkmh28j103in3wq04l34cx5sqkks";
   };
 
   # Taken from the extension download link at
diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
index b4b34d91c18e..8bafbd003d51 100644
--- a/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-system-monitor-${version}";
-  version = "33";
+  version = "36";
 
   src = fetchFromGitHub {
     owner = "paradoxxxzero";
     repo = "gnome-shell-system-monitor-applet";
     rev = "v${version}";
-    sha256 = "0abqaanl5r26x8f0mm0jgrjsr86hcx7mk75dx5c3zz7csw4nclkk";
+    sha256 = "0x3r189h5264kjxsm18d34gzb5ih8l4pz7i9qks9slcnzaiw4y0z";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/find-latest-version.py b/pkgs/desktops/gnome-3/find-latest-version.py
index d9155fe23930..b0359f799699 100644
--- a/pkgs/desktops/gnome-3/find-latest-version.py
+++ b/pkgs/desktops/gnome-3/find-latest-version.py
@@ -12,7 +12,7 @@ def odd_unstable(version_str, selected):
         return True
 
     even = version[1] % 2 == 0
-    prerelease = version[1] >= 90
+    prerelease = (version[1] >= 90 and version[1] < 100) or (version[1] >= 900 and version[1] < 1000)
     stable = even and not prerelease
     if selected == 'stable':
         return stable
diff --git a/pkgs/desktops/gnome-3/games/aisleriot/default.nix b/pkgs/desktops/gnome-3/games/aisleriot/default.nix
index 7627a45b4d2b..d77439b30c52 100644
--- a/pkgs/desktops/gnome-3/games/aisleriot/default.nix
+++ b/pkgs/desktops/gnome-3/games/aisleriot/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "aisleriot-${version}";
-  version = "3.22.5";
+  version = "3.22.7";
 
   src = fetchurl {
     url = "mirror://gnome/sources/aisleriot/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0rl39psr5xi584310pyrgw36ini4wn7yr2m1q5118w3a3v1dkhzh";
+    sha256 = "1ysljnrlvzssgbhxcgb28n9k3l0rybxi5lkrm8pg6a4nspaw5mc4";
   };
 
   configureFlags = [
diff --git a/pkgs/desktops/gnome-3/games/atomix/default.nix b/pkgs/desktops/gnome-3/games/atomix/default.nix
index f7a18f4c5c31..b8171ef31856 100644
--- a/pkgs/desktops/gnome-3/games/atomix/default.nix
+++ b/pkgs/desktops/gnome-3/games/atomix/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "atomix";
-  version = "3.29.3";
+  version = "3.30.0.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1k8bvwywpvw5f13pw40brk6c3rz2mdz9cd4zhcawg7qdm77dvcvb";
+    sha256 = "0hvr36m8ixa172zblv29fga1cn9yb84zqbisb21msfkwia2pabw3";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook python3 ];
diff --git a/pkgs/desktops/gnome-3/games/five-or-more/default.nix b/pkgs/desktops/gnome-3/games/five-or-more/default.nix
index e5dfd279bc75..4e302e9f8b11 100644
--- a/pkgs/desktops/gnome-3/games/five-or-more/default.nix
+++ b/pkgs/desktops/gnome-3/games/five-or-more/default.nix
@@ -1,25 +1,32 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, librsvg, intltool, itstool, libxml2 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gnome3, gtk3, wrapGAppsHook
+, librsvg, libgnome-games-support, gettext, itstool, libxml2, python3 }:
 
 stdenv.mkDerivation rec {
   name = "five-or-more-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/five-or-more/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1fy4a7qdjqvabm0cl45d6xlx6hy4paxvm0b2paifff73bl250d5c";
+    sha256 = "00d729p251kh96624i7qg2370r5mxwafs016i6hy01vsr71jzb9x";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "five-or-more"; attrPath = "gnome3.five-or-more"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool libxml2 python3 wrapGAppsHook ];
   buildInputs = [
-    gtk3 wrapGAppsHook librsvg intltool itstool libxml2
-    gnome3.defaultIconTheme
+    gtk3 librsvg libgnome-games-support gnome3.defaultIconTheme
   ];
 
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "five-or-more";
+      attrPath = "gnome3.five-or-more";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Five_or_more;
     description = "Remove colored balls from the board by forming lines";
diff --git a/pkgs/desktops/gnome-3/games/gnome-chess/default.nix b/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
index f7412e022616..dca598ce3141 100644
--- a/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-chess/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, meson, ninja, vala, pkgconfig, wrapGAppsHook, gobjectIntrospection
+{ stdenv, fetchurl, meson, ninja, vala, pkgconfig, wrapGAppsHook, gobject-introspection
 , gettext, itstool, libxml2, python3, gnome3, glib, gtk3, librsvg }:
 
 stdenv.mkDerivation rec {
   name = "gnome-chess-${version}";
-  version = "3.28.1";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-chess/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1q8gc0mq8k2b7pjy363g0yjd80czqknw6ssqzbvgqx5b8nkfvmv1";
+    sha256 = "153wwh0861qfg53myyc3iwlqm989lbhdrlmsxaibmkxv3pgpl7ma";
   };
 
-  nativeBuildInputs = [ meson ninja vala pkgconfig gettext itstool libxml2 python3 wrapGAppsHook gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja vala pkgconfig gettext itstool libxml2 python3 wrapGAppsHook gobject-introspection ];
   buildInputs = [ glib gtk3 librsvg gnome3.defaultIconTheme ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/games/gnome-mines/default.nix b/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
index ab978238cf55..7896595de187 100644
--- a/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, meson, ninja, vala, gobjectIntrospection, pkgconfig, gnome3, gtk3, wrapGAppsHook
+{ stdenv, fetchurl, meson, ninja, vala, gobject-introspection, pkgconfig, gnome3, gtk3, wrapGAppsHook
 , librsvg, gettext, itstool, python3, libxml2, libgnome-games-support, libgee }:
 
 stdenv.mkDerivation rec {
   name = "gnome-mines-${version}";
-  version = "3.28.0";
+  version = "3.30.1.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-mines/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "16w55hqaxipcv870n9gpn6qiywbqbyg7bjshaa02r75ias8dfxvf";
+    sha256 = "08ddk400sg1g3q26gnm5mgv81vdqyix0yl7pd47p50vkc1w6f33z";
   };
 
-  # gobjectIntrospection for finding vapi files
-  nativeBuildInputs = [ meson ninja vala gobjectIntrospection pkgconfig gettext itstool python3 libxml2 wrapGAppsHook ];
+  # gobject-introspection for finding vapi files
+  nativeBuildInputs = [ meson ninja vala gobject-introspection pkgconfig gettext itstool python3 libxml2 wrapGAppsHook ];
   buildInputs = [ gtk3 librsvg gnome3.defaultIconTheme libgnome-games-support libgee ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix b/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
index 23783c46e2b0..eaa9f3a1c8dc 100644
--- a/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix
@@ -1,23 +1,30 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gnome3, wrapGAppsHook
-, json-glib, qqwing, itstool, libxml2 }:
+{ stdenv, fetchurl, meson, ninja, vala, pkgconfig, gobject-introspection, gettext, gtk3, gnome3, wrapGAppsHook
+, json-glib, qqwing, itstool, libxml2, python3, desktop-file-utils }:
 
 stdenv.mkDerivation rec {
   name = "gnome-sudoku-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-sudoku/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "07b4lzniaf3gjsss6zl1lslv18smwc4nrijykvn2z90f423q2xav";
+    sha256 = "1xy986s51jnrcqwan2hy4bjdg6797yr9s7gxx2z2q4j4gkx3qa1f";
   };
 
+  nativeBuildInputs = [ meson ninja vala pkgconfig gobject-introspection gettext itstool libxml2 python3 desktop-file-utils wrapGAppsHook ];
+  buildInputs = [ gtk3 gnome3.libgee json-glib qqwing ];
+
+  postPatch = ''
+    chmod +x post_install.py # patchShebangs requires executable file
+    patchShebangs post_install.py
+  '';
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-sudoku"; attrPath = "gnome3.gnome-sudoku"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-sudoku";
+      attrPath = "gnome3.gnome-sudoku";
+    };
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool wrapGAppsHook gtk3 gnome3.libgee
-                  json-glib qqwing itstool libxml2 ];
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Sudoku;
     description = "Test your logic skills in this number grid puzzle";
diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
index 85036c70d194..75f511b17d05 100644
--- a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-taquin-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "096a32nhcz243na56iq2wxixd4f3lbj33a5h718r3j6yppqazjx9";
+    sha256 = "0qijv7wyrjlj56m79la4k7m00712v2m1m994vfx43x3v4isxidgp";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/iagno/default.nix b/pkgs/desktops/gnome-3/games/iagno/default.nix
index 4506614b498f..a60ebe9590bc 100644
--- a/pkgs/desktops/gnome-3/games/iagno/default.nix
+++ b/pkgs/desktops/gnome-3/games/iagno/default.nix
@@ -3,23 +3,25 @@
 
 stdenv.mkDerivation rec {
   name = "iagno-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/iagno/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "12haq1vgrr6wf970rja55rcg0352sm0i3l5z7gj0ipr2isv8506x";
+    sha256 = "15skh7186gp0k1lvzpv0l7dsr7mhb57njc3wjbgjwixym67h2d1z";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "iagno"; attrPath = "gnome3.iagno"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg
-                  dconf libxml2 libcanberra-gtk3 wrapGAppsHook itstool intltool ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook itstool libxml2 ];
+  buildInputs = [ gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg libcanberra-gtk3 ];
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "iagno";
+      attrPath = "gnome3.iagno";
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Iagno;
     description = "Computer version of the game Reversi, more popularly called Othello";
diff --git a/pkgs/desktops/gnome-3/games/lightsoff/default.nix b/pkgs/desktops/gnome-3/games/lightsoff/default.nix
index dcffe7cea7f4..ccd90c071fee 100644
--- a/pkgs/desktops/gnome-3/games/lightsoff/default.nix
+++ b/pkgs/desktops/gnome-3/games/lightsoff/default.nix
@@ -1,19 +1,27 @@
 { stdenv, fetchurl, vala, pkgconfig, gtk3, gnome3, gdk_pixbuf, librsvg, wrapGAppsHook
-, gettext, itstool, clutter, clutter-gtk, libxml2, appstream-glib }:
+, gettext, itstool, clutter, clutter-gtk, libxml2, appstream-glib
+, meson, ninja, python3 }:
 
 stdenv.mkDerivation rec {
   name = "lightsoff-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/lightsoff/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0rwh9kz6aphglp79cyrfjab6vy02vclq68f646zjgb9xgg6ar73g";
+    sha256 = "1cv5pkw0n8k5wb98ihx0z1z615w1wc09y884wk608wy40bgq46wp";
   };
 
-  nativeBuildInputs = [ vala pkgconfig wrapGAppsHook itstool gettext appstream-glib libxml2];
-  buildInputs = [ gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg clutter clutter-gtk ];
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+    sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py
+  '';
 
-  enableParallelBuilding = true;
+  nativeBuildInputs = [
+    vala pkgconfig wrapGAppsHook itstool gettext appstream-glib libxml2
+    meson ninja python3
+  ];
+  buildInputs = [ gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg clutter clutter-gtk ];
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/desktops/gnome-3/games/swell-foop/default.nix b/pkgs/desktops/gnome-3/games/swell-foop/default.nix
index fec448ff47c2..5e0f01174e41 100644
--- a/pkgs/desktops/gnome-3/games/swell-foop/default.nix
+++ b/pkgs/desktops/gnome-3/games/swell-foop/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "swell-foop";
-  version = "3.28.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1yjmg6sgi7mvp10fsqlkqshajmh8kgdmg6vyj5r8y48pv2ihfk64";
+    sha256 = "00h795clcyzch1sgcxflslv2q03vsz2j5xyy4ghbg6a6dgg8a0ax";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/misc/california/default.nix b/pkgs/desktops/gnome-3/misc/california/default.nix
index 7c90d8fa4e42..8024f66650ea 100644
--- a/pkgs/desktops/gnome-3/misc/california/default.nix
+++ b/pkgs/desktops/gnome-3/misc/california/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_34, libgee, wrapGAppsHook, itstool, gobjectIntrospection
+{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_34, libgee, wrapGAppsHook, itstool, gobject-introspection
 , gnome-online-accounts, evolution-data-server, gnome3, glib, libsoup, libgdata, sqlite, xdg_utils }:
 
 let
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
     sha256 = "1dky2kllv469k8966ilnf4xrr7z35pq8mdvs7kwziy59cdikapxj";
   };
 
-  nativeBuildInputs = [ intltool itstool vala_0_34 pkgconfig wrapGAppsHook gobjectIntrospection ];
+  nativeBuildInputs = [ intltool itstool vala_0_34 pkgconfig wrapGAppsHook gobject-introspection ];
   buildInputs = [ glib gtk3 libgee libsoup libgdata gnome-online-accounts evolution-data-server sqlite xdg_utils gnome3.gsettings-desktop-schemas ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/gnome-3/misc/geary/default.nix b/pkgs/desktops/gnome-3/misc/geary/default.nix
index 9077d6635233..7bb54904fb0f 100644
--- a/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/misc/geary/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_40, enchant
 , wrapGAppsHook, gdk_pixbuf, cmake, ninja, desktop-file-utils
 , libnotify, libcanberra-gtk3, libsecret, gmime, isocodes
-, gobjectIntrospection, libpthreadstubs, sqlite
-, gnome3, librsvg, gnome-doc-utils, webkitgtk }:
+, gobject-introspection, libpthreadstubs, sqlite
+, gnome3, librsvg, gnome-doc-utils, webkitgtk, fetchpatch }:
 
 let
   pname = "geary";
@@ -16,7 +16,23 @@ stdenv.mkDerivation rec {
     sha256 = "01ykhkjfkprvh9kp4rzrl6xs2pqibiw44ckvqsn5cs3xy2rlq8mm";
   };
 
-  nativeBuildInputs = [ vala_0_40 intltool pkgconfig wrapGAppsHook cmake ninja desktop-file-utils gnome-doc-utils gobjectIntrospection ];
+  patches = [
+    # Fix build with webkitgtk-2.22
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/geary/commit/5d0f711426d76f878cf9b71f7e8f785199c7cde1.patch;
+      sha256 = "1yifng5lfsc6wp7irmi8gjdcfig1cr0chf7rdv3asrk567nmwrsi";
+    })
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/geary/commit/0d966950a2cba888873cd3a7f4f42bb7a017dc6d.patch;
+      sha256 = "1y6v4fnik4w3paj9nl0yqs54998sx1zr9w3940d579p6dsa8f3fg";
+    })
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/geary/commit/e091f24b00ec421e1aadd5e360d1550e658ad5ef.patch;
+      sha256 = "0d5hc4h9c1hnn2sk18nkpmzdvwm3h746n2zj8n22ax9rj6lxl38l";
+    })
+  ];
+
+  nativeBuildInputs = [ vala_0_40 intltool pkgconfig wrapGAppsHook cmake ninja desktop-file-utils gnome-doc-utils gobject-introspection ];
   buildInputs = [
     gtk3 enchant webkitgtk libnotify libcanberra-gtk3 gnome3.libgee libsecret gmime sqlite
     libpthreadstubs gnome3.gsettings-desktop-schemas gnome3.gcr isocodes
diff --git a/pkgs/desktops/gnome-3/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix
index 94f5f4ef7999..d74faf09fb7d 100644
--- a/pkgs/desktops/gnome-3/misc/gexiv2/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, exiv2, glib, gnome3, gobjectIntrospection, vala }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, exiv2, glib, gnome3, gobject-introspection, vala }:
 
 let
   pname = "gexiv2";
-  version = "0.10.8";
+  version = "0.10.9";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0088m7p044n741ly1m6i7w25z513h9wpgyw0rmx5f0sy3vyjiic1";
+    sha256 = "1vf0zv92p9hybdhn7zx53h3ia53ph97a21xz8rfk877xlr5261l8";
   };
 
   preConfigure = ''
     patchShebangs .
   '';
 
-  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection vala ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection vala ];
   buildInputs = [ glib ];
   propagatedBuildInputs = [ exiv2 ];
 
diff --git a/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix
index 7e2709fc1c18..f4c0d6134c0f 100644
--- a/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib
-, gnome3, libsoup, json-glib, gobjectIntrospection }:
+, gnome3, libsoup, json-glib, gobject-introspection }:
 
 let
   pname = "gfbgraph";
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
     sha256 = "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs";
   };
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection ];
   buildInputs = [ glib gnome3.gnome-online-accounts ];
   propagatedBuildInputs = [ libsoup json-glib gnome3.rest ];
 
diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix
index c50db12f6b0f..b424a8a79697 100644
--- a/pkgs/desktops/gnome-3/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix
@@ -1,35 +1,39 @@
 { stdenv, fetchurl, vala, intltool, pkgconfig, gtk3, glib
-, json-glib, wrapGAppsHook, libpeas, bash, gobjectIntrospection
+, json-glib, wrapGAppsHook, libpeas, bash, gobject-introspection
 , gnome3, gtkspell3, shared-mime-info, libgee, libgit2-glib, libsecret
+, meson, ninja, python3
  }:
 
 let
   pname = "gitg";
-  version = "3.26.0";
+  version = "3.30.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "26730d437d6a30d6e341b9e8da99d2134dce4b96022c195609f45062f82b54d5";
+    sha256 = "1fz8q1aiql6k740savdjh0vzbyhcflgf94cfdhvzcrrvm929n2ss";
   };
 
-  preCheck = ''
-    substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash"
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+    sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py
+
+    substituteInPlace tests/libgitg/test-commit.vala --replace "/bin/bash" "${bash}/bin/bash"
   '';
+
   doCheck = true;
 
   enableParallelBuilding = true;
 
-  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
-
   buildInputs = [
     gtk3 glib json-glib libgee libpeas gnome3.libsoup
     libgit2-glib gtkspell3 gnome3.gtksourceview gnome3.gsettings-desktop-schemas
-    libsecret gobjectIntrospection gnome3.adwaita-icon-theme
+    libsecret gobject-introspection gnome3.adwaita-icon-theme
   ];
 
-  nativeBuildInputs = [ vala wrapGAppsHook intltool pkgconfig ];
+  nativeBuildInputs = [ meson ninja python3 vala wrapGAppsHook intltool pkgconfig ];
 
   preFixup = ''
     gappsWrapperArgs+=(
diff --git a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
index cbf8bc9707bf..de0d70ae42f4 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
@@ -1,7 +1,5 @@
 { stdenv
 , fetchurl
-, fetchpatch
-, autoreconfHook
 , intltool
 , itstool
 , libxml2
@@ -28,36 +26,16 @@
 
 let
   pname = "gnome-applets";
-  version = "3.28.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0wd6pirv57rcxm5d32r1s3ni7sp26gnqd4qhjciw0pn5ak627y5h";
+    sha256 = "1cvl32486kqw301wy40l1a1sdhanra7bx4smq0a3lmnl3x01zg43";
   };
 
-  patches = [
-    # https://github.com/NixOS/nixpkgs/issues/36468
-    # https://gitlab.gnome.org/GNOME/gnome-applets/issues/3
-    (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gnome-applets/commit/1ee719581c33d7d640ae9f656e4e9b192bafef78.patch;
-      sha256 = "05wim7d2ii3pxph3n3am76cvnxmkfpggk0cpy8p5xgm3hcibwfrf";
-    })
-    (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gnome-applets/commit/1fa778b01f0e6b70678b0e5755ca0ed7a093fa75.patch;
-      sha256 = "0kppqywn0ab18p64ixz0b58cn5bpqf0xy71bycldlc5ybpdx5mq0";
-    })
-
-    # https://gitlab.gnome.org/GNOME/gnome-applets/issues/4
-    (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gnome-applets/commit/e14482a90e6113f211e9328d8c39a69bdf5111d8.patch;
-      sha256 = "10ac0kk38hxqh8yvdlriyyv809qrxbpy9ihp01gizhiw7qpz97ff";
-    })
-  ];
-
   nativeBuildInputs = [
-    autoreconfHook
     intltool
     itstool
     pkgconfig
diff --git a/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
index 056aaaa28fcb..c80c8b977cf5 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gnome3
-, gtk3, glib, gobjectIntrospection, libarchive
+, gtk3, glib, gobject-introspection, libarchive
 }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gtk3 glib ];
-  propagatedBuildInputs = [ libarchive gobjectIntrospection ];
+  propagatedBuildInputs = [ libarchive gobject-introspection ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index f3f2cf992571..fe5345f1a6e2 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -25,13 +25,13 @@
 
 let
   pname = "gnome-flashback";
-  version = "3.28.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1ra8bfwgwqw47zx2h1q999g7l4dnqh7sv02if3zk8pkw3sm769hg";
+    sha256 = "18rwql2pi78155l9zp1i50xfi5z8xz2l08m9d81x6qqbfr1nyy57";
   };
 
   patches =[
@@ -41,11 +41,11 @@ in stdenv.mkDerivation rec {
       gnomeSession = gnome-session;
     })
 
-    # https://github.com/NixOS/nixpkgs/issues/36468
-    # https://gitlab.gnome.org/GNOME/gnome-flashback/issues/3
+    # overrides do not respect gsettingsschemasdir
+    # https://gitlab.gnome.org/GNOME/gnome-flashback/issues/9
     (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gnome-flashback/commit/eabd34f64adc43b8783920bd7a2177ce21f83fbc.patch;
-      sha256 = "116c5zy8cp7d06mrsn943q7vj166086jzrfzfqg7yli14pmf9w1a";
+     url = https://gitlab.gnome.org/GNOME/gnome-flashback/commit/a55530f58ccd600414a5420b287868ab7d219705.patch;
+     sha256 = "1la94lhhb9zlw7bnbpl6hl26zv3kxbsvgx996mhph720wxg426mh";
     })
   ];
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
index dfaf73a9d7f1..8fbe24220b69 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-packagekit-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-packagekit/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "051q3hc78qa85mfh4jxxprfcrfj1hva6smfqsgzm0kx4zkkj1c1r";
+    sha256 = "1i1hf6833psnq174xm0gjlz5rbrkl8i512y47w7nk8mrrrc31b35";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook desktop-file-utils ];
diff --git a/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix b/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
index 5c40b4c8f441..b9522e1e3f40 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
@@ -23,7 +23,7 @@
 
 let
   pname = "gnome-panel";
-  version = "3.28.0";
+  version = "3.30.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -31,15 +31,15 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1004cp9cxqpic9lsraqn5c1739acn4sn4ql3c1fja99hv22h1ziv";
+    sha256 = "12q0l7wy6hzl46i7xpvv82ka3bn14z0jg6fhv5xhnk7j9mkbmgqw";
   };
 
   patches = [
     # https://github.com/NixOS/nixpkgs/issues/36468
-    # https://gitlab.gnome.org/GNOME/gnome-panel/issues/6
+    # https://gitlab.gnome.org/GNOME/gnome-panel/issues/8
     (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gnome-panel/commit/be26e170a10c297949a6d9f3cbc70b6caaf04b56.patch;
-      sha256 = "10gxl9fwbv5j0s1lz7gkz6wqpda5wfzs49r5khbk1h05lv0hk4l4";
+      url = https://gitlab.gnome.org/GNOME/gnome-panel/commit/77be9c3507bd1b5d70d97649b85ec9f47f6c359c.patch;
+      sha256 = "00b1ihnc6hp2g6x1v1njbc6mhsk44izl2wigviibmka2znfk03nv";
     })
   ];
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix b/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix
index c2c4c8e94a7d..d985eac4030f 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix
@@ -1,17 +1,17 @@
 { stdenv, meson, ninja, gettext, fetchurl
 , pkgconfig, gtk3, glib, libsoup
 , itstool, libxml2, python3Packages
-, gnome3, gdk_pixbuf, libnotify, gobjectIntrospection, wrapGAppsHook }:
+, gnome3, gdk_pixbuf, libnotify, gobject-introspection, wrapGAppsHook }:
 
 let
   pname = "gnome-tweaks";
-  version = "3.28.1";
+  version = "3.30.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1p5xydr0haz4389h6dvvbna6i1mipdzvmlfksnv0jqfvfs9sy6fp";
+    sha256 = "0pj6k0106dy92lnb646dd656qdvljqwbaya95xp369a016pzngpa";
   };
 
   nativeBuildInputs = [
@@ -22,7 +22,7 @@ in stdenv.mkDerivation rec {
     gdk_pixbuf gnome3.defaultIconTheme
     libnotify gnome3.gnome-shell python3Packages.pygobject3
     libsoup gnome3.gnome-settings-daemon gnome3.nautilus
-    gnome3.mutter gnome3.gnome-desktop gobjectIntrospection
+    gnome3.mutter gnome3.gnome-desktop gobject-introspection
     gnome3.nautilus
     # Makes it possible to select user themes through the `user-theme` extension
     gnome3.gnome-shell-extensions
diff --git a/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index add6addaec08..fd71f1f2a23c 100644
--- a/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, vala, glib, gjs, mutter
-, pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, systemd, gobjectIntrospection }:
+, pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, systemd, gobject-introspection }:
 
 stdenv.mkDerivation rec {
-  version = "3.28.2";
+  version = "3.30.2";
   name = "gpaste-${version}";
 
   src = fetchurl {
     url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "1zfx73qpw976hyzp5k569lywsq2b6dbnnzf2cvhjvn3mvkw8pin2";
+    sha256 = "0vlbvv6rjxq7h9cl3ilndjk7d51ac1x7agj8k6a7bwjx8h1fr62x";
   };
 
   patches = [
@@ -16,24 +16,28 @@ stdenv.mkDerivation rec {
 
   # TODO: switch to substituteAll with placeholder
   # https://github.com/NixOS/nix/issues/1846
-  # https://github.com/NixOS/nixpkgs/pull/37693
   postPatch = ''
     substituteInPlace src/gnome-shell/extension.js \
-      --subst-var-by typelibPath "$out/lib/girepository-1.0"
+      --subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
     substituteInPlace src/gnome-shell/prefs.js \
-      --subst-var-by typelibPath "$out/lib/girepository-1.0"
+      --subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
     substituteInPlace src/libgpaste/settings/gpaste-settings.c \
-      --subst-var-by gschemasCompiled "$out/share/gsettings-schemas/${name}/glib-2.0/schemas"
+      --subst-var-by gschemasCompiled "${placeholder "out"}/share/gsettings-schemas/${name}/glib-2.0/schemas"
   '';
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig vala wrapGAppsHook ];
-  buildInputs = [ glib gjs mutter gnome3.adwaita-icon-theme
-                  gtk3 gnome3.gnome-control-center dbus
-                  clutter pango appstream-glib systemd gobjectIntrospection ];
+  nativeBuildInputs = [
+    autoreconfHook pkgconfig vala appstream-glib wrapGAppsHook
+  ];
+  buildInputs = [
+    glib gjs mutter gtk3 dbus
+    clutter pango gobject-introspection
+  ];
 
-  configureFlags = [ "--with-controlcenterdir=$(out)/share/gnome-control-center/keybindings"
-                     "--with-dbusservicesdir=$(out)/share/dbus-1/services"
-                     "--with-systemduserunitdir=$(out)/etc/systemd/user" ];
+  configureFlags = [
+    "--with-controlcenterdir=${placeholder "out"}/share/gnome-control-center/keybindings"
+    "--with-dbusservicesdir=${placeholder "out"}/share/dbus-1/services"
+    "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/misc/libgda/default.nix b/pkgs/desktops/gnome-3/misc/libgda/default.nix
index 002310c52762..93e18f519163 100644
--- a/pkgs/desktops/gnome-3/misc/libgda/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgda/default.nix
@@ -9,25 +9,17 @@ assert postgresSupport -> postgresql != null;
 
 (if stdenv.isAarch64 then overrideCC stdenv gcc6 else stdenv).mkDerivation rec {
   name = "libgda-${version}";
-  version = "5.2.4";
+  version = "5.2.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgda/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "2cee38dd583ccbaa5bdf6c01ca5f88cc08758b9b144938a51a478eb2684b765e";
+    sha256 = "1j4hxhiwr4i8rgbn2ck93y1c2b792sfzlrq7abyjx8h8ik1f9lp3";
   };
 
   passthru = {
     updateScript = gnome3.updateScript { packageName = "libgda"; attrPath = "gnome3.libgda"; };
   };
 
-  patches = [
-    (fetchurl {
-      name = "libgda-fix-encoding-of-copyright-headers.patch";
-      url = https://bug787685.bugzilla-attachments.gnome.org/attachment.cgi?id=359901;
-      sha256 = "11qj7f7zsiw8jy18vlwz2prlxpg4iq350sws3qwfwsv0lnmncmfq";
-    })
-  ];
-
   configureFlags = with stdenv.lib; [ "--enable-gi-system-install=no" ]
     ++ (optional (mysqlSupport) "--with-mysql=yes")
     ++ (optional (postgresSupport) "--with-postgres=yes");
diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
index f5f6b799b4b5..8d078ea41e78 100644
--- a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, gnome3, meson, ninja, pkgconfig, vala, libssh2
-, gtk-doc, gobjectIntrospection, libgit2, glib, python3 }:
+, gtk-doc, gobject-introspection, libgit2, glib, python3 }:
 
 stdenv.mkDerivation rec {
   name = "libgit2-glib-${version}";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig vala gtk-doc gobjectIntrospection
+    meson ninja pkgconfig vala gtk-doc gobject-introspection
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/misc/libmediaart/default.nix b/pkgs/desktops/gnome-3/misc/libmediaart/default.nix
index d8a564ac17ea..fac5db943871 100644
--- a/pkgs/desktops/gnome-3/misc/libmediaart/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libmediaart/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, gobject-introspection, gnome3 }:
 
 let
   pname = "libmediaart";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "a57be017257e4815389afe4f58fdacb6a50e74fd185452b23a652ee56b04813d";
   };
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection ];
   buildInputs = [ glib gdk_pixbuf ];
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/misc/metacity/default.nix b/pkgs/desktops/gnome-3/misc/metacity/default.nix
index 46ff2c118137..86e12b585364 100644
--- a/pkgs/desktops/gnome-3/misc/metacity/default.nix
+++ b/pkgs/desktops/gnome-3/misc/metacity/default.nix
@@ -16,13 +16,13 @@
 
 let
   pname = "metacity";
-  version = "3.28.0";
+  version = "3.30.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0kzap0lzlkcgkna3h426xgwrn2zpipy8cfsxpfynnaf74vyas3aw";
+    sha256 = "12kr472gblx7jxh9rvnamy09bkg29ms2pgc0c3373piqmavi24qg";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/misc/pomodoro/default.nix b/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
index 82e56d3f96c4..0a9b9bcfe9be 100644
--- a/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, autoconf-archive, appstream-glib, intltool, pkgconfig, libtool, wrapGAppsHook,
+{ stdenv, fetchFromGitHub, fetchpatch, autoconf-archive, appstream-glib, intltool, pkgconfig, libtool, wrapGAppsHook,
   dbus-glib, libcanberra, gst_all_1, vala, gnome3, gtk3, libxml2, autoreconfHook,
-  glib, gobjectIntrospection, libpeas
+  glib, gobject-introspection, libpeas
 }:
 
 stdenv.mkDerivation rec {
@@ -14,13 +14,21 @@ stdenv.mkDerivation rec {
     sha256 = "0fiql99nhj168wbfhvzrhfcm4c4569gikd2zaf10vzszdqjahrl1";
   };
 
+  patches = [
+    # build with Vala ≥ 0.42
+    (fetchpatch {
+      url = https://github.com/codito/gnome-pomodoro/commit/36778823ca5bd94b2aa948e5d8718f84d99d9af0.patch;
+      sha256 = "0a9x0p5wny3an9xawam9nhpffw5m4kgwj5jvv0g6c2lwlfzrx2rh";
+    })
+  ];
+
   nativeBuildInputs = [
     autoreconfHook vala autoconf-archive libtool intltool appstream-glib
     wrapGAppsHook pkgconfig libxml2
   ];
 
   buildInputs = [
-    glib gobjectIntrospection libpeas
+    glib gobject-introspection libpeas
     dbus-glib libcanberra gst_all_1.gstreamer
     gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gnome3.gsettings-desktop-schemas
diff --git a/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix
index 957da4504eb8..94a7f572b16b 100644
--- a/pkgs/desktops/mate/mate-menus/default.nix
+++ b/pkgs/desktops/mate/mate-menus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection, python, mate }:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gobject-introspection, python, mate }:
 
 stdenv.mkDerivation rec {
   name = "mate-menus-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
-  buildInputs = [ glib gobjectIntrospection python ];
+  buildInputs = [ glib gobject-introspection python ];
 
   makeFlags = [
     "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/"
diff --git a/pkgs/desktops/mate/mate-polkit/default.nix b/pkgs/desktops/mate/mate-polkit/default.nix
index a65077872cfb..b5d87acded80 100644
--- a/pkgs/desktops/mate/mate-polkit/default.nix
+++ b/pkgs/desktops/mate/mate-polkit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gobjectIntrospection, libappindicator-gtk3, libindicator-gtk3, polkit, mate }:
+{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gobject-introspection, libappindicator-gtk3, libindicator-gtk3, polkit, mate }:
 
 stdenv.mkDerivation rec {
   name = "mate-polkit-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3
-    gobjectIntrospection
+    gobject-introspection
     libappindicator-gtk3
     libindicator-gtk3
     polkit
diff --git a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
index 7f259d669547..95d371959e53 100644
--- a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, cmake, vala_0_38, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, wrapGAppsHook, gobjectIntrospection }:
+{ stdenv, fetchurl, perl, cmake, vala_0_38, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, wrapGAppsHook, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   majorVersion = "0.4";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     perl cmake vala_0_38 pkgconfig wrapGAppsHook
     # For setup hook
-    gobjectIntrospection
+    gobject-introspection
   ];
   buildInputs = with gnome3; [
     glib gtk3 granite libnotify gettext vte_290 libgee
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix
index 61035571f534..8c6c91e25194 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgconfig, fetchFromGitHub, python2, vala
+{ stdenv, pkgconfig, fetchFromGitHub, python2, vala_0_40
 , gtk2, libwnck, libxfce4util, xfce4-panel, wafHook }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
-  buildInputs = [ python2 vala gtk2 libwnck libxfce4util xfce4-panel ];
+  buildInputs = [ python2 vala_0_40 gtk2 libwnck libxfce4util xfce4-panel ];
 
   postPatch = ''
     substituteInPlace src/preferences.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }"
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix
index 21705b0fb5e2..694f6772282b 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, substituteAll, callPackage, pkgconfig, cmake, vala, libxml2,
   glib, pcre, gtk2, gtk3, xorg, libxkbcommon, epoxy, at-spi2-core, dbus-glib, bamf,
-  xfce, libwnck3, libdbusmenu, gobjectIntrospection }:
+  xfce, libwnck3, libdbusmenu, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "xfce4-vala-panel-appmenu-plugin-${version}";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ (callPackage ./appmenu-gtk-module.nix {})
                   glib pcre gtk2 gtk3 xorg.libpthreadstubs xorg.libXdmcp libxkbcommon epoxy
                   at-spi2-core dbus-glib bamf xfce.xfce4panel_gtk3 xfce.libxfce4util xfce.xfconf
-                  libwnck3 libdbusmenu gobjectIntrospection ];
+                  libwnck3 libdbusmenu gobject-introspection ];
 
   patches = [
     (substituteAll {
diff --git a/pkgs/desktops/xfce4-13/libxfce4ui/default.nix b/pkgs/desktops/xfce4-13/libxfce4ui/default.nix
index 51f5fca8d1a7..f6997551262e 100644
--- a/pkgs/desktops/xfce4-13/libxfce4ui/default.nix
+++ b/pkgs/desktops/xfce4-13/libxfce4ui/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkXfceDerivation, gobjectIntrospection, gtk2, gtk3, libICE, libSM
+{ lib, mkXfceDerivation, gobject-introspection, gtk2, gtk3, libICE, libSM
 , libstartup_notification ? null, libxfce4util, xfconf }:
 
 mkXfceDerivation rec {
@@ -8,7 +8,7 @@ mkXfceDerivation rec {
 
   sha256 = "0m9h3kvkk2nx8pxxmsg9sjnyp6ajwjrz9djjxxvranjsdw3ilydy";
 
-  buildInputs =  [ gobjectIntrospection gtk2 gtk3 libstartup_notification xfconf ];
+  buildInputs =  [ gobject-introspection gtk2 gtk3 libstartup_notification xfconf ];
   propagatedBuildInputs = [ libxfce4util libICE libSM ];
 
   meta = with lib; {
diff --git a/pkgs/desktops/xfce4-13/libxfce4util/default.nix b/pkgs/desktops/xfce4-13/libxfce4util/default.nix
index fe9974ca573b..6a3b633cd09d 100644
--- a/pkgs/desktops/xfce4-13/libxfce4util/default.nix
+++ b/pkgs/desktops/xfce4-13/libxfce4util/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkXfceDerivation, gobjectIntrospection }:
+{ lib, mkXfceDerivation, gobject-introspection }:
 
 mkXfceDerivation rec {
   category = "xfce";
@@ -7,7 +7,7 @@ mkXfceDerivation rec {
 
   sha256 = "0sb6pzhmh0qzfdhixj1ard56zi68318k86z3a1h3f2fhqy7gyf98";
 
-  buildInputs = [ gobjectIntrospection ];
+  buildInputs = [ gobject-introspection ];
 
   meta = with lib; {
     description = "Extension library for Xfce";
diff --git a/pkgs/development/compilers/ghc/8.4.4.nix b/pkgs/development/compilers/ghc/8.4.4.nix
index 139457f43c8a..c84ea1d84d57 100644
--- a/pkgs/development/compilers/ghc/8.4.4.nix
+++ b/pkgs/development/compilers/ghc/8.4.4.nix
@@ -2,7 +2,7 @@
 
 # build-tools
 , bootPkgs
-, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4
+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx
 
 , libiconv ? null, ncurses
 
@@ -183,7 +183,7 @@ stdenv.mkDerivation (rec {
   strictDeps = true;
 
   nativeBuildInputs = [
-    perl autoconf automake m4 python3
+    perl autoconf automake m4 python3 sphinx
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ];
 
diff --git a/pkgs/development/compilers/ghc/8.6.1.nix b/pkgs/development/compilers/ghc/8.6.1.nix
index 911a900f6d23..434570fe9889 100644
--- a/pkgs/development/compilers/ghc/8.6.1.nix
+++ b/pkgs/development/compilers/ghc/8.6.1.nix
@@ -2,7 +2,7 @@
 
 # build-tools
 , bootPkgs
-, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4
+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx
 
 , libiconv ? null, ncurses
 
@@ -168,7 +168,7 @@ stdenv.mkDerivation (rec {
   strictDeps = true;
 
   nativeBuildInputs = [
-    perl autoconf automake m4 python3
+    perl autoconf automake m4 python3 sphinx
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ];
 
diff --git a/pkgs/development/compilers/ghc/8.6.2.nix b/pkgs/development/compilers/ghc/8.6.2.nix
index 5e263fd06b43..85853e158327 100644
--- a/pkgs/development/compilers/ghc/8.6.2.nix
+++ b/pkgs/development/compilers/ghc/8.6.2.nix
@@ -2,7 +2,7 @@
 
 # build-tools
 , bootPkgs
-, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4
+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx
 
 , libiconv ? null, ncurses
 
@@ -168,7 +168,7 @@ stdenv.mkDerivation (rec {
   strictDeps = true;
 
   nativeBuildInputs = [
-    perl autoconf automake m4 python3
+    perl autoconf automake m4 python3 sphinx
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ];
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index bd02daf5e1cf..29de668767b8 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -2,7 +2,7 @@
 
 # build-tools
 , bootPkgs
-, autoconf, automake, coreutils, fetchgit, perl, python3, m4
+, autoconf, automake, coreutils, fetchgit, perl, python3, m4, sphinx
 
 , libiconv ? null, ncurses
 
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index fb2d9fc535af..a721625b1f46 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/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index e62471772e8d..50901b7d1dac 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -33,7 +33,7 @@ self: super: {
   unbuildable = throw "package depends on meta package 'unbuildable'";
 
   # Use the latest version of the Cabal library.
-  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_4_0_1; });
+  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_4_1_0; });
 
   # The test suite depends on old versions of tasty and QuickCheck.
   hackage-security = dontCheck super.hackage-security;
@@ -86,7 +86,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "0dnrihpdshrldais74jm5wjfw650i4va8znc1k2zq8gl9p4i8p39";
+      sha256 = "0f0pp0d5q4122cjh4j7iasnjh234fmkvlwgb3f49087cg8rr2czh";
     };
   }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -1185,4 +1185,7 @@ self: super: {
   # });
   libnix = dontCheck super.libnix;
 
+  # https://github.com/jmillikin/chell/issues/1
+  chell = super.chell.override { patience = self.patience_0_1_1; };
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index 226b437d58b1..83cb831345c1 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -62,10 +62,10 @@ self: super: {
   # that have it as an actual library dependency. The explicit overrides are
   # more verbose but friendlier for Hydra.
   stack = (doJailbreak super.stack).override {
-    Cabal = self.Cabal_2_4_0_1;
-    hpack = self.hpack_0_31_1.override { Cabal = self.Cabal_2_4_0_1; };
+    Cabal = self.Cabal_2_4_1_0;
+    hpack = self.hpack_0_31_1.override { Cabal = self.Cabal_2_4_1_0; };
     yaml = self.yaml_0_11_0_0;
-    hackage-security = self.hackage-security.override { Cabal = self.Cabal_2_4_0_1; };
+    hackage-security = self.hackage-security.override { Cabal = self.Cabal_2_4_1_0; };
   };
   hpack_0_31_1 = super.hpack_0_31_1.override {
     yaml = self.yaml_0_11_0_0;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index e2983de6ebcb..d61915c5abde 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -46,10 +46,11 @@ self: super: {
 
   # LTS-12.x versions do not compile.
   base-orphans = self.base-orphans_0_8;
-  brick = self.brick_0_41_3;
+  brick = self.brick_0_41_5;
   cassava-megaparsec = doJailbreak super.cassava-megaparsec;
   config-ini = doJailbreak super.config-ini;   # https://github.com/aisamanra/config-ini/issues/18
   contravariant = self.contravariant_1_5;
+  fgl = self.fgl_5_7_0_1;
   free = self.free_5_1;
   haddock-library = dontCheck super.haddock-library_1_7_0;
   HaTeX = doJailbreak super.HaTeX;
@@ -67,6 +68,9 @@ self: super: {
   JuicyPixels = self.JuicyPixels_3_3_2;
   lens = self.lens_4_17;
   megaparsec = dontCheck (doJailbreak super.megaparsec);
+  pandoc = self.pandoc_2_5;
+  pandoc-citeproc = self.pandoc-citeproc_0_15;
+  pandoc-citeproc_0_15 = doJailbreak super.pandoc-citeproc_0_15;
   patience = markBrokenVersion "0.1.1" super.patience;
   polyparse = self.polyparse_1_12_1;
   primitive = self.primitive_0_6_4_0;
@@ -81,10 +85,6 @@ self: super: {
   # https://github.com/tibbe/unordered-containers/issues/214
   unordered-containers = dontCheck super.unordered-containers;
 
-  # https://github.com/haskell/fgl/issues/79
-  # https://github.com/haskell/fgl/issues/81
-  fgl = appendPatch (overrideCabal super.fgl (drv: { editedCabalFile = null; })) ./patches/fgl-monad-fail.patch;
-
   # Test suite does not compile.
   cereal = dontCheck super.cereal;
   data-clist = doJailbreak super.data-clist;  # won't cope with QuickCheck 2.12.x
@@ -99,9 +99,6 @@ self: super: {
   # https://github.com/jgm/skylighting/issues/55
   skylighting-core = dontCheck super.skylighting-core;
 
-  # https://github.com/jgm/pandoc/issues/4974
-  pandoc = doJailbreak super.pandoc_2_4;
-
   # Break out of "yaml >=0.10.4.0 && <0.11".
   stack = doJailbreak super.stack;
 
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
index 99f4cd87ce56..b71f75033f08 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-head.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -40,7 +40,7 @@ self: super: {
   xhtml = null;
 
   # jailbreak-cabal can use the native Cabal library.
-  jailbreak-cabal = pkgs.haskell.packages.ghc802.jailbreak-cabal;
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
 
   # haddock: No input file(s).
   nats = dontHaddock super.nats;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 8ac91d65973f..82ecd05b266c 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -45,7 +45,7 @@ default-package-overrides:
   - base-compat-batteries ==0.10.1
   # Newer versions don't work in LTS-12.x
   - cassava-megaparsec < 2
-  # LTS Haskell 12.19
+  # LTS Haskell 12.20
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -56,7 +56,7 @@ default-package-overrides:
   - ad ==4.3.5
   - adjunctions ==4.4
   - adler32 ==0.1.2.0
-  - aern2-mp ==0.1.2.0
+  - aern2-mp ==0.1.3.1
   - aern2-real ==0.1.1.0
   - aeson ==1.3.1.1
   - aeson-attoparsec ==0.0.0
@@ -419,7 +419,7 @@ default-package-overrides:
   - colour ==2.3.4
   - combinatorial ==0.1.0.1
   - comfort-graph ==0.0.3.1
-  - commutative ==0.0.1.4
+  - commutative ==0.0.2
   - comonad ==5.0.4
   - compactmap ==0.1.4.2.1
   - compensated ==0.7.2
@@ -435,7 +435,7 @@ default-package-overrides:
   - concise ==0.1.0.1
   - concurrency ==1.6.1.0
   - concurrent-extra ==0.7.0.12
-  - concurrent-output ==1.10.7
+  - concurrent-output ==1.10.9
   - concurrent-split ==0.0.1.1
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
@@ -476,6 +476,7 @@ default-package-overrides:
   - cpuinfo ==0.1.0.1
   - cql ==4.0.1
   - cql-io ==1.0.1.1
+  - crackNum ==2.3
   - credential-store ==0.1.2
   - criterion ==1.4.1.0
   - criterion-measurement ==0.1.1.0
@@ -486,7 +487,7 @@ default-package-overrides:
   - crypto-cipher-tests ==0.0.11
   - crypto-cipher-types ==0.0.9
   - cryptocompare ==0.1.1
-  - crypto-enigma ==0.0.2.14
+  - crypto-enigma ==0.0.3.1
   - cryptohash ==0.11.9
   - cryptohash-cryptoapi ==0.1.4
   - cryptohash-md5 ==0.11.100.1
@@ -554,7 +555,7 @@ default-package-overrides:
   - data-textual ==0.3.0.2
   - data-tree-print ==0.1.0.2
   - dataurl ==0.1.0.0
-  - DAV ==1.3.2
+  - DAV ==1.3.3
   - dawg-ord ==0.5.1.0
   - dbcleaner ==0.1.3
   - dbus ==1.0.1
@@ -576,7 +577,7 @@ default-package-overrides:
   - dhall ==1.15.1
   - dhall-bash ==1.0.15
   - dhall-json ==1.2.3
-  - dhall-text ==1.0.13
+  - dhall-text ==1.0.14
   - di ==1.0.1
   - diagrams ==1.4
   - diagrams-builder ==0.8.0.3
@@ -650,7 +651,7 @@ default-package-overrides:
   - either ==5.0.1
   - either-unwrap ==1.1
   - ekg ==0.4.0.15
-  - ekg-core ==0.1.1.4
+  - ekg-core ==0.1.1.6
   - ekg-json ==0.1.0.6
   - ekg-statsd ==0.2.4.0
   - ekg-wai ==0.1.0.3
@@ -722,7 +723,7 @@ default-package-overrides:
   - FenwickTree ==0.1.2.1
   - fft ==0.1.8.6
   - fgl ==5.6.0.0
-  - filecache ==0.4.0
+  - filecache ==0.4.1
   - file-embed ==0.0.10.1
   - file-embed-lzma ==0
   - filelock ==0.1.1.2
@@ -747,6 +748,7 @@ default-package-overrides:
   - flat-mcmc ==1.5.0
   - flay ==0.4
   - flexible-defaults ==0.0.2
+  - FloatingHex ==0.4
   - floatshow ==0.2.4
   - flow ==1.0.17
   - fmlist ==0.9.2
@@ -878,7 +880,7 @@ default-package-overrides:
   - graph-wrapper ==0.2.5.1
   - gravatar ==0.8.0
   - graylog ==0.1.0.1
-  - greskell ==0.2.1.1
+  - greskell ==0.2.2.0
   - greskell-core ==0.1.2.4
   - greskell-websocket ==0.1.1.2
   - groom ==0.1.2.1
@@ -926,7 +928,7 @@ default-package-overrides:
   - haskell-src ==1.0.3.0
   - haskell-src-exts ==1.20.3
   - haskell-src-exts-simple ==1.20.0.0
-  - haskell-src-exts-util ==0.2.3
+  - haskell-src-exts-util ==0.2.4
   - haskell-src-meta ==0.8.0.3
   - haskell-tools-ast ==1.1.0.2
   - haskell-tools-backend-ghc ==1.1.0.2
@@ -958,7 +960,7 @@ default-package-overrides:
   - hebrew-time ==0.1.1
   - hedgehog ==0.6.1
   - hedgehog-corpus ==0.1.0
-  - hedis ==0.10.4
+  - hedis ==0.10.8
   - here ==1.2.13
   - heredoc ==0.2.0.0
   - heterocephalus ==1.0.5.2
@@ -968,6 +970,7 @@ default-package-overrides:
   - hexpat ==0.20.13
   - hexstring ==0.11.1
   - hfsevents ==0.1.6
+  - hgmp ==0.1.1
   - hidapi ==0.1.5
   - hidden-char ==0.1.0.2
   - hierarchical-clustering ==0.4.6
@@ -1002,7 +1005,8 @@ default-package-overrides:
   - HPDF ==1.4.10
   - hpqtypes ==1.5.3.0
   - hprotoc ==2.4.11
-  - hquantlib ==0.0.4.0
+  - hquantlib ==0.0.5.0
+  - hquantlib-time ==0.0.4.1
   - hreader ==1.1.0
   - hreader-lens ==0.1.3.0
   - hruby ==0.3.6
@@ -1012,8 +1016,8 @@ default-package-overrides:
   - hsdns ==1.7.1
   - hsebaysdk ==0.4.0.0
   - hsemail ==2
-  - hset ==2.2.0
   - HSet ==0.0.1
+  - hset ==2.2.0
   - hsexif ==0.6.1.6
   - hs-functors ==0.1.3.0
   - hs-GeoIP ==0.3
@@ -1048,7 +1052,7 @@ default-package-overrides:
   - HSvm ==0.1.0.3.22
   - hsx-jmacro ==7.3.8.1
   - hsyslog ==5.0.1
-  - hsyslog-udp ==0.2.3
+  - hsyslog-udp ==0.2.4
   - htaglib ==1.2.0
   - HTF ==0.13.2.5
   - html ==1.0.1.2
@@ -1060,7 +1064,7 @@ default-package-overrides:
   - HTTP ==4000.3.12
   - http2 ==1.6.4
   - http-api-data ==0.3.8.1
-  - http-client ==0.5.13.1
+  - http-client ==0.5.14
   - http-client-openssl ==0.2.2.0
   - http-client-tls ==0.3.5.3
   - http-common ==0.8.2.0
@@ -1079,7 +1083,7 @@ default-package-overrides:
   - hvect ==0.4.0.0
   - hvega ==0.1.0.3
   - hw-balancedparens ==0.2.0.2
-  - hw-bits ==0.7.0.3
+  - hw-bits ==0.7.0.4
   - hw-conduit ==0.2.0.5
   - hw-diagnostics ==0.0.0.5
   - hweblib ==0.6.3
@@ -1093,7 +1097,7 @@ default-package-overrides:
   - hw-mquery ==0.1.0.1
   - hworker ==0.1.0.1
   - hw-parser ==0.0.0.3
-  - hw-prim ==0.6.2.19
+  - hw-prim ==0.6.2.20
   - hw-rankselect ==0.10.0.3
   - hw-rankselect-base ==0.3.2.1
   - hw-string-parse ==0.0.0.4
@@ -1132,7 +1136,7 @@ default-package-overrides:
   - indents ==0.5.0.0
   - indexed-list-literals ==0.2.1.2
   - inflections ==0.4.0.3
-  - influxdb ==1.6.0.9
+  - influxdb ==1.6.1
   - ini ==0.3.6
   - inline-c ==0.6.1.0
   - inline-java ==0.8.4
@@ -1188,7 +1192,7 @@ default-package-overrides:
   - js-flot ==0.8.3
   - js-jquery ==3.3.1
   - json ==0.9.2
-  - json-feed ==1.0.4
+  - json-feed ==1.0.5
   - json-rpc-client ==0.2.5.0
   - json-rpc-generic ==0.2.1.5
   - json-rpc-server ==0.2.6.0
@@ -1215,7 +1219,7 @@ default-package-overrides:
   - kraken ==0.1.0
   - l10n ==0.1.0.1
   - labels ==0.3.3
-  - lackey ==1.0.6
+  - lackey ==1.0.7
   - LambdaHack ==0.8.3.0
   - lame ==0.1.1
   - language-c ==0.8.2
@@ -1288,6 +1292,7 @@ default-package-overrides:
   - logging-facade-syslog ==1
   - logict ==0.6.0.2
   - log-postgres ==0.7.0.2
+  - long-double ==0.1
   - loop ==0.3.0
   - lrucache ==1.2.0.0
   - lrucaching ==0.3.3
@@ -1311,7 +1316,7 @@ default-package-overrides:
   - markdown-unlit ==0.5.0
   - markov-chain ==0.0.3.4
   - marvin-interpolate ==1.1.2
-  - massiv ==0.2.3.0
+  - massiv ==0.2.4.0
   - massiv-io ==0.1.4.0
   - mathexpr ==0.3.0.0
   - math-functions ==0.2.1.0
@@ -1423,7 +1428,7 @@ default-package-overrides:
   - mwc-probability ==2.0.4
   - mwc-probability-transition ==0.4
   - mwc-random ==0.13.6.0
-  - mysql ==0.1.5
+  - mysql ==0.1.6
   - mysql-haskell ==0.8.3.0
   - mysql-haskell-nem ==0.1.0.0
   - mysql-haskell-openssl ==0.8.3.0
@@ -1577,9 +1582,9 @@ default-package-overrides:
   - pgp-wordlist ==0.1.0.2
   - pg-transact ==0.1.0.1
   - phantom-state ==0.2.1.2
-  - picosat ==0.1.4
+  - picosat ==0.1.5
   - pid1 ==0.1.2.0
-  - pinboard ==0.9.12.10
+  - pinboard ==0.9.12.11
   - pipes ==4.3.9
   - pipes-aeson ==0.4.1.8
   - pipes-attoparsec ==0.5.1.5
@@ -1613,11 +1618,11 @@ default-package-overrides:
   - polyparse ==1.12
   - pooled-io ==0.0.2.2
   - portable-lines ==0.1
-  - postgresql-binary ==0.12.1.1
+  - postgresql-binary ==0.12.1.2
   - postgresql-libpq ==0.9.4.2
   - postgresql-schema ==0.1.14
   - postgresql-simple ==0.5.4.0
-  - postgresql-simple-migration ==0.1.12.0
+  - postgresql-simple-migration ==0.1.13.0
   - postgresql-simple-queue ==1.0.1
   - postgresql-simple-url ==0.2.1.0
   - postgresql-transactional ==1.1.1
@@ -1678,7 +1683,7 @@ default-package-overrides:
   - pure-zlib ==0.6.4
   - pushbullet-types ==0.4.1.0
   - qm-interpolated-string ==0.3.0.0
-  - qnap-decrypt ==0.3.2
+  - qnap-decrypt ==0.3.3
   - QuasiText ==0.1.2.6
   - quickbench ==1.0
   - QuickCheck ==2.11.3
@@ -1706,7 +1711,7 @@ default-package-overrides:
   - rank2classes ==1.1.0.1
   - Rasterific ==0.7.4
   - rasterific-svg ==0.3.3.2
-  - ratel ==1.0.6
+  - ratel ==1.0.7
   - ratel-wai ==1.0.4
   - ratio-int ==0.1.2
   - rattletrap ==4.1.2
@@ -1771,7 +1776,9 @@ default-package-overrides:
   - rio-orphans ==0.1.1.0
   - rng-utils ==0.3.0
   - roles ==0.2.0.0
+  - rosezipper ==0.2
   - rot13 ==0.2.0.1
+  - rounded ==0.1.0.1
   - RSA ==2.3.0
   - rss-conduit ==0.4.2.2
   - runmemo ==1.0.0.1
@@ -1794,6 +1801,7 @@ default-package-overrides:
   - sandman ==0.2.0.1
   - say ==0.1.0.1
   - sbp ==2.3.17
+  - sbv ==7.12
   - SCalendar ==1.1.0
   - scalendar ==1.2.0
   - scalpel ==0.5.1
@@ -1867,7 +1875,7 @@ default-package-overrides:
   - sexp-grammar ==2.0.1
   - SHA ==1.6.4.4
   - shake-language-c ==0.12.0
-  - shakespeare ==2.0.19
+  - shakespeare ==2.0.20
   - shell-conduit ==4.7.0
   - shell-escape ==0.2.0
   - shelltestrunner ==1.9
@@ -2147,8 +2155,8 @@ default-package-overrides:
   - type-operators ==0.1.0.4
   - type-spec ==0.3.0.1
   - typography-geometry ==1.0.0.1
-  - tz ==0.1.3.1
-  - tzdata ==0.1.20180501.0
+  - tz ==0.1.3.2
+  - tzdata ==0.1.20181026.0
   - uglymemo ==0.1.0.1
   - unbounded-delays ==0.1.1.0
   - unbound-generics ==0.3.4
@@ -2347,7 +2355,7 @@ default-package-overrides:
   - yesod-alerts ==0.1.2.0
   - yesod-auth ==1.6.5
   - yesod-auth-fb ==1.9.1
-  - yesod-auth-hashdb ==1.7
+  - yesod-auth-hashdb ==1.7.1
   - yesod-bin ==1.6.0.3
   - yesod-core ==1.6.8.1
   - yesod-csp ==0.2.4.0
@@ -2455,6 +2463,7 @@ extra-packages:
   - yesod-persistent < 1.5              # pre-lts-11.x versions neeed by git-annex 6.20180227
   - yesod-static ^>= 1.5                # pre-lts-11.x versions neeed by git-annex 6.20180227
   - yesod-test ^>= 1.5                  # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - patience ^>= 0.1                    # required by chell-0.4.x
 
 package-maintainers:
   peti:
@@ -3008,6 +3017,7 @@ dont-distribute-packages:
   azure-servicebus:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   azurify:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   b-tree:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  b9:                                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   babylon:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   backdropper:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   backtracking-exceptions:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3070,6 +3080,7 @@ dont-distribute-packages:
   bench-show:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   BenchmarkHistory:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   benchpress:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bencodex:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   bencoding:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   berkeleydb:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   BerkeleyDBXML:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3492,6 +3503,7 @@ dont-distribute-packages:
   chuchu:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   chunks:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   chunky:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  church:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   cielo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   cil:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cinvoke:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3582,6 +3594,7 @@ dont-distribute-packages:
   CMQ:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cmv:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cnc-spec-compiler:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  co-log-sys:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   co-log:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Coadjute:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   coalpit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3784,6 +3797,7 @@ dont-distribute-packages:
   cplusplus-th:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cprng-aes-effect:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   cpuperf:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cpython:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   cql-io:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   cqrs-core:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   cqrs-example:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4146,6 +4160,9 @@ dont-distribute-packages:
   doctest-discover-configurator:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   doctest-driver-gen:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   DocTest:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  docusign-base:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  docusign-client:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  docusign-example:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   docvim:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   doi:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   DOM:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4253,6 +4270,7 @@ dont-distribute-packages:
   effects:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   effin:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   egison-quote:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  egison-tutorial:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ehaskell:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ehs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   eibd-client-simple:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4408,6 +4426,7 @@ dont-distribute-packages:
   extemp:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   extended-categories:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   extensible-data:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  extensible-effects-concurrent:                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Extra:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   extract-dependencies:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   extractelf:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4561,6 +4580,7 @@ dont-distribute-packages:
   flower:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   flowlocks-framework:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   flowsim:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fltkhs-fluid-examples:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   fluent-logger-conduit:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   fluent-logger:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fluidsynth:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4679,6 +4699,7 @@ dont-distribute-packages:
   functor-infix:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   functor:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   functorm:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  funflow-nix:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   funflow:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Fungi:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   funion:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4735,6 +4756,7 @@ dont-distribute-packages:
   generic-accessors:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   generic-binary:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   generic-church:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  generic-data-surgery:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   generic-data:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   generic-enum:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   generic-lens-labels:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4760,6 +4782,7 @@ dont-distribute-packages:
   GenSmsPdu:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   gentlemark:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   GenussFold:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  genvalidity-hspec-optics:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   geo-resolver:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   GeocoderOpenCage:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   geodetic:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4882,6 +4905,7 @@ dont-distribute-packages:
   gloss-banana:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   gloss-devil:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gloss-examples:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gloss-export:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   gloss-game:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   gloss-juicy:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gloss-sodium:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5134,6 +5158,7 @@ dont-distribute-packages:
   grpc-etcd-client:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   gruff-examples:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   gruff:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gscholar-rss:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   gsl-random-fu:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gsl-random:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   gstorable:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5400,6 +5425,8 @@ dont-distribute-packages:
   haskell-tools-ast-fromghc:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-ast-gen:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-ast-trf:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-tools-cli:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-tools-daemon:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tor:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-type-exts:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-typescript:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5471,6 +5498,7 @@ dont-distribute-packages:
   hasktorch:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskus-binary:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskus-system-build:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskus-utils-variant:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskus-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   haslo:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasloGUI:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6258,6 +6286,7 @@ dont-distribute-packages:
   imperative-edsl-vhdl:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   imperative-edsl:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ImperativeHaskell:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  impl:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   implicit-logging:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   implicit-params:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   importify:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6380,6 +6409,7 @@ dont-distribute-packages:
   JackMiniMix:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   jackminimix:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   jacobi-roots:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jaeger-flamegraph:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   jail:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   jalaali:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   jalla:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6566,6 +6596,7 @@ dont-distribute-packages:
   lambda2js:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdaBase:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdabot-utils:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lambdabot-zulip:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdacms-core:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdacms-media:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdacube-bullet:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7228,6 +7259,7 @@ dont-distribute-packages:
   multipass:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   multipath:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   multiplate-simplified:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  multipool-persistent-postgresql:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   multirec-alt-deriver:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   multirec-binary:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   multirec:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7296,6 +7328,7 @@ dont-distribute-packages:
   nanomsg:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   nanoparsec:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   NanoProlog:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nanovg-simple:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   nanovg:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   nanq:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   Naperian:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7454,6 +7487,7 @@ dont-distribute-packages:
   nymphaea:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   o-clock:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   oanda-rest-api:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  oauth2-jwt-bearer:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   oauthenticated:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   obd:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   obdd:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7501,6 +7535,7 @@ dont-distribute-packages:
   open-typerep:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenAFP-Utils:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenAFP:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  openapi-petstore:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   opench-meteo:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenCL:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenCLRaw:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7744,6 +7779,7 @@ dont-distribute-packages:
   picoparsec:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   picosat:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   pictikz:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pier-core:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   pier:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   piet:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   pinchot:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7818,6 +7854,7 @@ dont-distribute-packages:
   pointless-lenses:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   pointless-rewrite:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   pokemon-go-protobuf-types:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  poker-eval:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pokitdok:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   polar-configfile:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   polar-shader:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8571,6 +8608,7 @@ dont-distribute-packages:
   servant-auth-token:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-checked-exceptions:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-conduit:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-csharp:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-db-postgresql:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-db:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8584,8 +8622,11 @@ dont-distribute-packages:
   servant-iCalendar:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-jquery:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-js:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-machines:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-matrix-param:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-multipart:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-nix:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-pipes:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-pool:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-postgresql:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-proto-lens:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8646,6 +8687,7 @@ dont-distribute-packages:
   shake-extras:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-minify:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-pack:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  shake-path:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-persist:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   shaker:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   shakespeare-babel:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9099,6 +9141,7 @@ dont-distribute-packages:
   supermonad:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   supero:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   supervisor:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  supervisors:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   supplemented:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   surjective:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   sv-cassava:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9276,6 +9319,7 @@ dont-distribute-packages:
   texbuilder:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-all:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-and-plots:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  text-ansi:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-builder:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-containers:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-format-heavy:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9793,6 +9837,7 @@ dont-distribute-packages:
   wai-request-spec:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-responsible:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-router:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wai-routing:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-secure-cookies:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-session-alt:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   wai-session-mysql:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 590f7f0d9719..f0d629ad5e44 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 bb8653e69ff1..05b5f286f19b 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -763,6 +763,7 @@ self: {
        '';
        description = "A dependently typed functional programming language and proof assistant";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ abbradar ];
      }) {inherit (pkgs) emacs;};
 
@@ -2013,6 +2014,7 @@ self: {
        libraryHaskellDepends = [ base mtl ];
        description = "Delimited continuations and dynamically scoped variables";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "CC-delcont-alt" = callPackage
@@ -2477,7 +2479,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "Cabal_2_4_0_1" = callPackage
+  "Cabal_2_4_1_0" = callPackage
     ({ mkDerivation, array, base, base-compat, base-orphans, binary
      , bytestring, containers, deepseq, Diff, directory, filepath
      , integer-logarithms, mtl, optparse-applicative, parsec, pretty
@@ -2487,8 +2489,10 @@ self: {
      }:
      mkDerivation {
        pname = "Cabal";
-       version = "2.4.0.1";
-       sha256 = "161l9lgayzpb3wrp9bcp8k0a3rq5dpyiyrxjb87dhximi2mc16rv";
+       version = "2.4.1.0";
+       sha256 = "151mrrd9sskghvlwmj32da5gafwqj6sv9xz9fmp84b7vm4nr0skk";
+       revision = "1";
+       editedCabalFile = "1dvs2i0kfk8rji9wbrv7y0iydbif9jzg4c7rmaa6lxg8hp7mij2n";
        setupHaskellDepends = [ mtl parsec ];
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -3428,6 +3432,7 @@ self: {
        ];
        description = "Collects together existing Haskell cryptographic functions into a package";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "CurryDB" = callPackage
@@ -3495,8 +3500,8 @@ self: {
      }:
      mkDerivation {
        pname = "DAV";
-       version = "1.3.2";
-       sha256 = "0sai0b7bxwif5czmmdik5dx318drx18inid87wfrxckrflsi8cv1";
+       version = "1.3.3";
+       sha256 = "149rdrbjx59a2rbx2r6fzhmyl3f35a2gbh4sarbpffv0pmirrx14";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -6160,8 +6165,8 @@ self: {
      }:
      mkDerivation {
        pname = "GLUtil";
-       version = "0.10.2";
-       sha256 = "05x733nk3dbla4y6p7b1nx4pv3b0wm6idhsm7p30z2f968k3hyv9";
+       version = "0.10.3";
+       sha256 = "09zcb0ijm20nmynqsl585nhn1qaldkp3c8v3y28gn2cj606m8cqr";
        libraryHaskellDepends = [
          array base bytestring containers directory filepath hpp JuicyPixels
          linear OpenGL OpenGLRaw transformers vector
@@ -7212,8 +7217,8 @@ self: {
     ({ mkDerivation, base, containers, mtl, QuickCheck, random }:
      mkDerivation {
        pname = "HCL";
-       version = "1.4";
-       sha256 = "0dzfnvdc1nm4f7q759xnq1lavi90axc7b6jd39sl898jbjg8wrrl";
+       version = "1.5.1";
+       sha256 = "1l9ychhml91zvr6zdrzyd8pvlbycyrdjvn95vgdyal0p5r7b3plf";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -9562,6 +9567,7 @@ self: {
        ];
        description = "A Haskell binding for Chipmunk";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Hipmunk-Utils" = callPackage
@@ -10382,6 +10388,7 @@ self: {
        ];
        description = "Multiline strings, interpolation and templating";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Interpolation-maxs" = callPackage
@@ -10393,6 +10400,7 @@ self: {
        libraryHaskellDepends = [ base syb template-haskell ];
        description = "Multiline strings, interpolation and templating";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "IntervalMap" = callPackage
@@ -10720,6 +10728,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "JuicyPixels-blp_0_1_1_0" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, directory
+     , filepath, hashable, JuicyPixels, optparse-simple, text-show
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "JuicyPixels-blp";
+       version = "0.1.1.0";
+       sha256 = "0vccx98n9bjnz2clpww4gqns7mc2cmzgpzmj2mx6mwhgb12rwbvx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base binary bytestring hashable JuicyPixels text-show
+         vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory filepath JuicyPixels optparse-simple
+         text-show unordered-containers
+       ];
+       description = "BLP format decoder/encoder over JuicyPixels library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "JuicyPixels-canvas" = callPackage
     ({ mkDerivation, base, containers, JuicyPixels }:
      mkDerivation {
@@ -13115,6 +13147,7 @@ self: {
        ];
        description = "High-level abstraction over 9P protocol";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "NewBinary" = callPackage
@@ -16824,6 +16857,7 @@ self: {
        executableToolDepends = [ alex happy ];
        description = "Prototypical type checker for Type Theory with Sized Natural Numbers";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "SizeCompare" = callPackage
@@ -17414,7 +17448,7 @@ self: {
        version = "4.0.0.0";
        sha256 = "1sskndywpm1gi4bs4i1gah73jk49inlscg4jzcqhq0phb8f886xk";
        libraryHaskellDepends = [ base mtl ];
-       license = stdenv.lib.licenses.unfree;
+       license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -18641,6 +18675,7 @@ self: {
        testToolDepends = [ c2hs ];
        description = "ViennaRNA v2 bindings";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ViennaRNA-extras" = callPackage
@@ -18728,8 +18763,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, parseargs }:
      mkDerivation {
        pname = "WAVE";
-       version = "0.1.3";
-       sha256 = "1cgla9y1lwcsdad5qdspymd7s6skdw961fgzh02kvi7gjbrrcyi7";
+       version = "0.1.4";
+       sha256 = "1zr2sw3m0pwbn5qfxhgf8195f4pjj3azc2w849l0cdi3znvmlxih";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -19015,8 +19050,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "Win32";
-       version = "2.8.1.0";
-       sha256 = "0953ql8gblkbjqc652bd96nrn1m5i00j2p82h4q6l92j4h8dimpv";
+       version = "2.8.2.0";
+       sha256 = "1yi1mynxdy05hmq5hzqr9vyjgbr2k0dqjpma0mlk2vqli3nhvw5m";
        description = "A binding to Windows Win32 API";
        license = stdenv.lib.licenses.bsd3;
        platforms = stdenv.lib.platforms.none;
@@ -21084,6 +21119,7 @@ self: {
        libraryHaskellDepends = [ acme-dont base ];
        description = "Safe versions of some infamous haskell functions such as fromJust";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "acme-schoenfinkel" = callPackage
@@ -21394,8 +21430,8 @@ self: {
      }:
      mkDerivation {
        pname = "adblock2privoxy";
-       version = "1.4.2";
-       sha256 = "17ikb90zwz3vvs9yg3z83pzs442vy5nx0h44i64akn10aykw8hic";
+       version = "2.0.0";
+       sha256 = "0wd6zavym2afw7ba2h6i5snwp5gyq64q81gwwlw7y0kslv3xkaw9";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -21559,26 +21595,6 @@ self: {
      }) {};
 
   "aern2-mp" = callPackage
-    ({ mkDerivation, base, convertible, hmpfr, hspec, integer-gmp
-     , integer-logarithms, lens, mixed-types-num, QuickCheck, regex-tdfa
-     , template-haskell
-     }:
-     mkDerivation {
-       pname = "aern2-mp";
-       version = "0.1.2.0";
-       sha256 = "131wymnajhji593zydnyddyc6cwg0y3nqgvibq8l9h23v4m67rlx";
-       revision = "1";
-       editedCabalFile = "09b92kf60m4v0xn2nm9h8wkg8wr7dc1na5c9mg2lk3kplf60sfvk";
-       libraryHaskellDepends = [
-         base convertible hmpfr hspec integer-gmp integer-logarithms lens
-         mixed-types-num QuickCheck regex-tdfa template-haskell
-       ];
-       testHaskellDepends = [ base hspec QuickCheck ];
-       description = "Multi-precision floats via MPFR";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "aern2-mp_0_1_3_1" = callPackage
     ({ mkDerivation, base, convertible, hspec, integer-logarithms, lens
      , mixed-types-num, QuickCheck, regex-tdfa, rounded
      , template-haskell
@@ -21594,7 +21610,6 @@ self: {
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "Multi-precision ball (interval) arithmetic";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aern2-real" = callPackage
@@ -21679,10 +21694,10 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "aeson_1_4_1_0" = callPackage
+  "aeson_1_4_2_0" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat, base-orphans
-     , base16-bytestring, bytestring, containers, deepseq, directory
-     , dlist, filepath, generic-deriving, ghc-prim, hashable
+     , base16-bytestring, bytestring, containers, contravariant, deepseq
+     , directory, dlist, filepath, generic-deriving, ghc-prim, hashable
      , hashable-time, integer-logarithms, primitive, QuickCheck
      , quickcheck-instances, scientific, tagged, tasty, tasty-hunit
      , tasty-quickcheck, template-haskell, text, th-abstraction, time
@@ -21690,15 +21705,13 @@ self: {
      }:
      mkDerivation {
        pname = "aeson";
-       version = "1.4.1.0";
-       sha256 = "1mf29mxdqkpgbvqx1acbbv75wpzhwpnnf4iapmm5v3zg2k7g3hyi";
-       revision = "1";
-       editedCabalFile = "12zvcm121dc0fpyzm1wr0b9k5lwyca298vgvf192sp2dykxkj9m7";
+       version = "1.4.2.0";
+       sha256 = "1l4b675nxddim3v30kd7zr3vmrs7i1m81rh8h9bfbm9k9a0p3kkm";
        libraryHaskellDepends = [
-         attoparsec base base-compat bytestring containers deepseq dlist
-         ghc-prim hashable primitive scientific tagged template-haskell text
-         th-abstraction time time-locale-compat unordered-containers
-         uuid-types vector
+         attoparsec base base-compat bytestring containers contravariant
+         deepseq dlist ghc-prim hashable primitive scientific tagged
+         template-haskell text th-abstraction time time-locale-compat
+         unordered-containers uuid-types vector
        ];
        testHaskellDepends = [
          attoparsec base base-compat base-orphans base16-bytestring
@@ -21852,6 +21865,8 @@ self: {
        pname = "aeson-diff";
        version = "1.1.0.5";
        sha256 = "1kzvqzbl6pp5g49dp4qqc7cbisnkpqz0i18b6nmdb7f1nrhdvnb1";
+       revision = "1";
+       editedCabalFile = "0a29nph4a1ny365nhsxlm73mk6zgaam4sfx6knzqjy8dxp1gkj48";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -27121,8 +27136,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-athena";
-       version = "6.1.3";
-       sha256 = "00n1yj3qjlcbqjb1288h74nmlhk2851mmpkrlni48ja6hy3pnacc";
+       version = "6.1.5";
+       sha256 = "0p78yxdnfzz6jw7az6xfh6sjcnf9d8sl512cmhdcws78p7f2rhlx";
        libraryHaskellDepends = [
          amazonka amazonka-athena amazonka-core base lens resourcet text
          unliftio-core
@@ -27138,8 +27153,8 @@ self: {
     ({ mkDerivation, aeson, antiope-s3, avro, base, bytestring, text }:
      mkDerivation {
        pname = "antiope-contract";
-       version = "6.1.3";
-       sha256 = "0jazg8jh0wcv5gzz2sxhb5z3s50fz6x83siih9xs456kzsickh9a";
+       version = "6.1.5";
+       sha256 = "1ikd0sn3z901hyad55ngzs99b0v9bs5vkry5965w22smljdg3rqh";
        libraryHaskellDepends = [
          aeson antiope-s3 avro base bytestring text
        ];
@@ -27149,20 +27164,22 @@ self: {
 
   "antiope-core" = callPackage
     ({ mkDerivation, amazonka, amazonka-core, base, bytestring
-     , generic-lens, http-client, lens, monad-logger, mtl, resourcet
-     , transformers, unliftio-core
+     , exceptions, generic-lens, http-client, http-types, lens
+     , monad-logger, mtl, resourcet, text, transformers, unliftio-core
      }:
      mkDerivation {
        pname = "antiope-core";
-       version = "6.1.3";
-       sha256 = "1qnbha6n0ax9gffa14dwgdklc8ilnxnccs60cfjfw8wjjfqm1wdc";
+       version = "6.1.5";
+       sha256 = "06c8wd4gjlrz1sdk7qpd1l8n29a3jkipy749j3414x7b5fqxbzi7";
        libraryHaskellDepends = [
-         amazonka amazonka-core base bytestring generic-lens http-client
-         lens monad-logger mtl resourcet transformers unliftio-core
+         amazonka amazonka-core base bytestring exceptions generic-lens
+         http-client http-types lens monad-logger mtl resourcet text
+         transformers unliftio-core
        ];
        testHaskellDepends = [
-         amazonka amazonka-core base bytestring generic-lens http-client
-         lens monad-logger mtl resourcet transformers unliftio-core
+         amazonka amazonka-core base bytestring exceptions generic-lens
+         http-client http-types lens monad-logger mtl resourcet text
+         transformers unliftio-core
        ];
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -27175,8 +27192,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-dynamodb";
-       version = "6.1.3";
-       sha256 = "0l8arxlxy9bb5gqfn7jp4gcfzr3c2ncbcchk635g58ac0chzgaw4";
+       version = "6.1.5";
+       sha256 = "181ygxvf29acianvnryv1kbn5g69axkagqa54429ja8jfxiblrqq";
        libraryHaskellDepends = [
          amazonka amazonka-core amazonka-dynamodb antiope-core base
          generic-lens lens text unliftio-core unordered-containers
@@ -27196,8 +27213,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-messages";
-       version = "6.1.3";
-       sha256 = "0bk98ziv0ivwhbwd99pw54pf2788cva9bnqvv871wzxhqgd2vhx8";
+       version = "6.1.5";
+       sha256 = "09ysy9r38d216vzq0nm1zfl4fqz8mrqa39c2ivy7pqm4xldsqary";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-s3 amazonka-sqs antiope-s3
          base generic-lens lens lens-aeson monad-loops network-uri text
@@ -27221,8 +27238,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-s3";
-       version = "6.1.3";
-       sha256 = "167yc57r53yzfvyiz4z8kha820xfpwfa3mcb4kndlb650qa016ax";
+       version = "6.1.5";
+       sha256 = "0b2mildkgd271c8hwg6b3jf8xgli5bmd4dx9c0ac8ihyn28xr0m8";
        libraryHaskellDepends = [
          amazonka amazonka-core amazonka-s3 antiope-core attoparsec base
          bytestring conduit conduit-extra exceptions generic-lens http-types
@@ -27244,8 +27261,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-sns";
-       version = "6.1.3";
-       sha256 = "1knxyvzr566qwaa6167w64v8rlnr89350cca46vcs50rcr7hdjpj";
+       version = "6.1.5";
+       sha256 = "07kg0b0iyik0axnycph3irp73cv614qcny3z3rib1rpvbknz9iwh";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-sns base generic-lens lens
          text unliftio-core
@@ -27265,8 +27282,8 @@ self: {
      }:
      mkDerivation {
        pname = "antiope-sqs";
-       version = "6.1.3";
-       sha256 = "0xzcmjaniqprs2qachjiqzm4cxhgw4l6w7vg7sfp0b0l3m4kz4hh";
+       version = "6.1.5";
+       sha256 = "097vxkz54k4ijqqzb8lijr90hvnyyhqm7sqn5qxam3wy355w3z5c";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-s3 amazonka-sqs
          antiope-messages antiope-s3 base generic-lens lens lens-aeson
@@ -27321,6 +27338,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "antlr-haskell" = callPackage
+    ({ mkDerivation, base, call-stack, containers, deepseq, hashable
+     , haskell-src-meta, HUnit, mtl, QuickCheck, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, th-lift, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "antlr-haskell";
+       version = "0.1.0.0";
+       sha256 = "057mr0vw299hjjxlcpmwpbpwn6snzdvr73gmwxhh1gqgbh9g4bx4";
+       libraryHaskellDepends = [
+         base containers deepseq hashable haskell-src-meta mtl
+         template-haskell text th-lift transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base call-stack containers deepseq hashable haskell-src-meta HUnit
+         mtl QuickCheck template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 text th-lift transformers
+         unordered-containers
+       ];
+       description = "A Haskell implementation of the ANTLR top-down parser generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "antlrc" = callPackage
     ({ mkDerivation, antlr3c, base, bytestring, c2hs, enumerator
      , haskell98, regex-posix
@@ -27583,7 +27624,7 @@ self: {
 
   "api-tools" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, alex, array, attoparsec, base
-     , base16-bytestring, base64-bytestring, binary, bytestring, Cabal
+     , base16-bytestring, base64-bytestring, bytestring, Cabal
      , case-insensitive, cborg, containers, deepseq, happy, lens
      , QuickCheck, regex-compat-tdfa, safe, safecopy, scientific
      , serialise, tasty, tasty-hunit, tasty-quickcheck, template-haskell
@@ -27591,30 +27632,25 @@ self: {
      }:
      mkDerivation {
        pname = "api-tools";
-       version = "0.8.0.1";
-       sha256 = "19a2g5rym3cydbdb9b6x0rm7xdw2m5ckqdzb02yblx9pv045nfzx";
+       version = "0.8.0.2";
+       sha256 = "0q10vqaf4y3zwa2nrwllxi8ac8ch6jjr4r3s5g6gy51bp04ggzv9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty array attoparsec base base16-bytestring
-         base64-bytestring binary bytestring Cabal case-insensitive cborg
+         base64-bytestring bytestring Cabal case-insensitive cborg
          containers deepseq lens QuickCheck regex-compat-tdfa safe safecopy
          scientific serialise template-haskell text time
          unordered-containers vector
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [
-         aeson aeson-pretty array attoparsec base base64-bytestring
-         bytestring case-insensitive cborg containers deepseq lens
-         QuickCheck regex-compat-tdfa safe safecopy serialise
-         template-haskell text time unordered-containers vector
+         aeson aeson-pretty base bytestring deepseq QuickCheck serialise
        ];
        testHaskellDepends = [
-         aeson aeson-pretty array attoparsec base base64-bytestring
-         bytestring Cabal case-insensitive cborg containers lens QuickCheck
-         regex-compat-tdfa safe safecopy serialise tasty tasty-hunit
+         aeson aeson-pretty base base64-bytestring bytestring Cabal cborg
+         containers QuickCheck safecopy serialise tasty tasty-hunit
          tasty-quickcheck template-haskell text time unordered-containers
-         vector
        ];
        description = "DSL for generating API boilerplate and docs";
        license = stdenv.lib.licenses.bsd3;
@@ -29196,7 +29232,7 @@ self: {
        editedCabalFile = "09hmx0x4fz80kby7w1n9rc7sibbmpsvl4i3rc3h91hs53ban4yd4";
        libraryHaskellDepends = [ aeson base bytestring containers text ];
        description = "Basic types and instances for Valve's Artifact Card-set API";
-       license = stdenv.lib.licenses.agpl3;
+       license = stdenv.lib.licenses.agpl3Plus;
      }) {};
 
   "arx" = callPackage
@@ -30475,16 +30511,16 @@ self: {
 
   "ats-pkg" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, binary, bytestring, bzlib
-     , Cabal, cli-setup, composition-prelude, containers, dependency
-     , dhall, directory, file-embed, filemanip, filepath, http-client
-     , http-client-tls, lzma, microlens, mtl, optparse-applicative
-     , parallel-io, process, shake, shake-ats, shake-c, shake-ext, tar
-     , temporary, text, unix, zip-archive, zlib
+     , Cabal, cli-setup, composition-prelude, containers, cpphs
+     , dependency, dhall, directory, file-embed, filemanip, filepath
+     , http-client, http-client-tls, lzma, microlens, mtl
+     , optparse-applicative, parallel-io, process, shake, shake-ats
+     , shake-c, shake-ext, tar, temporary, text, unix, zip-archive, zlib
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.2.4.0";
-       sha256 = "0pj7zyf38rbi48lh8jhcm54wrflkdyh1583d9h4iy9nj5apa85ip";
+       version = "3.2.4.2";
+       sha256 = "168mgwx0m2kriz494r9isd27rflfh4np7pjm1hxzwc8pnyd3mdx9";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -30495,6 +30531,7 @@ self: {
          microlens mtl parallel-io process shake shake-ats shake-c shake-ext
          tar text unix zip-archive zlib
        ];
+       libraryToolDepends = [ cpphs ];
        executableHaskellDepends = [
          base bytestring cli-setup dependency directory microlens
          optparse-applicative parallel-io shake shake-ats temporary text
@@ -31607,27 +31644,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "avro_0_4_0_0" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring, binary
-     , bytestring, containers, data-binary-ieee754, directory, entropy
-     , extra, fail, hashable, hspec, lens, lens-aeson, mtl, pure-zlib
-     , QuickCheck, scientific, semigroups, tagged, template-haskell
-     , text, transformers, unordered-containers, vector
+  "avro_0_4_1_0" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
+     , binary, bytestring, containers, data-binary-ieee754, directory
+     , entropy, extra, fail, hashable, hspec, lens, lens-aeson, mtl
+     , pure-zlib, QuickCheck, scientific, semigroups, tagged
+     , template-haskell, text, transformers, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "avro";
-       version = "0.4.0.0";
-       sha256 = "1cly3x4lmibcjm5sz68s2fncakpx2cfvyimv4ck1mm5v94yfp8pi";
+       version = "0.4.1.0";
+       sha256 = "0dndnk8wk1ir59m19qsb3jrza8xy2w3w3fqv52hyqz1w5ca906n6";
        libraryHaskellDepends = [
-         aeson array base base16-bytestring binary bytestring containers
-         data-binary-ieee754 entropy fail hashable mtl pure-zlib scientific
-         semigroups tagged template-haskell text unordered-containers vector
+         aeson array base base16-bytestring bifunctors binary bytestring
+         containers data-binary-ieee754 entropy fail hashable mtl pure-zlib
+         scientific semigroups tagged template-haskell text
+         unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson array base base16-bytestring binary bytestring containers
-         directory entropy extra fail hashable hspec lens lens-aeson mtl
-         pure-zlib QuickCheck scientific semigroups tagged template-haskell
-         text transformers unordered-containers vector
+         aeson array base base16-bytestring bifunctors binary bytestring
+         containers directory entropy extra fail hashable hspec lens
+         lens-aeson mtl pure-zlib QuickCheck scientific semigroups tagged
+         template-haskell text transformers unordered-containers vector
        ];
        description = "Avro serialization support for Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -32588,6 +32627,7 @@ self: {
        ];
        description = "A tool and library for building virtual machine images";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "babl" = callPackage
@@ -32721,6 +32761,7 @@ self: {
        executableHaskellDepends = [ base gd X11 ];
        description = "braindead utility to compose Xinerama backgrounds";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bag" = callPackage
@@ -33392,6 +33433,7 @@ self: {
        ];
        description = "Parsing and serialization for Base58 addresses (Bitcoin and Ripple)";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "base58string" = callPackage
@@ -33475,6 +33517,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Base64 implementation for String's";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "base91" = callPackage
@@ -34424,7 +34467,8 @@ self: {
        ];
        testToolDepends = [ hspec-discover ];
        description = "Bencodex reader/writer for Haskell";
-       license = stdenv.lib.licenses.gpl3;
+       license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bencoding" = callPackage
@@ -34698,7 +34742,7 @@ self: {
          process protolude text time typed-process vector vty
        ];
        description = "Simple terminal GUI for local hoogle";
-       license = stdenv.lib.licenses.bsd3;
+       license = "(BSD-3-Clause OR Apache-2.0)";
      }) {};
 
   "bibdb" = callPackage
@@ -39395,7 +39439,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "brick_0_41_3" = callPackage
+  "brick_0_41_5" = callPackage
     ({ mkDerivation, base, config-ini, containers, contravariant
      , data-clist, deepseq, dlist, microlens, microlens-mtl
      , microlens-th, QuickCheck, stm, template-haskell, text
@@ -39403,8 +39447,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.41.3";
-       sha256 = "19hfcfsalffk0ayi0wjyha08j5wz8pkbw14z5dl26isxdfx1mbb2";
+       version = "0.41.5";
+       sha256 = "0r7r44h81jpv2h9wqwkh9i5hmdkr296cvmvyha6qr89298npz1cb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -39846,6 +39890,8 @@ self: {
        pname = "bson";
        version = "0.3.2.6";
        sha256 = "106fdxzwpkp5vrnfsrjjwy8dn9rgmxrp79ji7xaxv8dgb9hw73bk";
+       revision = "1";
+       editedCabalFile = "0d9s7v330fckrxzdgmbdj7bapb1pgla8yf0mq5zhw27shxy5m3dx";
        libraryHaskellDepends = [
          base binary bytestring cryptohash data-binary-ieee754 mtl network
          text time
@@ -39905,6 +39951,7 @@ self: {
        ];
        description = "Mapping between BSON and algebraic data types";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bspack" = callPackage
@@ -40940,6 +40987,7 @@ self: {
        ];
        description = "A type-class to convert values from ByteString";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bytestring-handle" = callPackage
@@ -41832,10 +41880,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-install";
-       version = "2.4.0.0";
-       sha256 = "1xmyl0x8wqfrnray6ky5wy0g0samv4264fbdlzxhqsvk9dbfja8k";
-       revision = "2";
-       editedCabalFile = "1xil5pim6j1ckqj61zz6l7xpfxxr3rkw2hvpws2f7pr9shk645dl";
+       version = "2.4.1.0";
+       sha256 = "1b91rcs00wr5mf55c6xl8hrxmymlq72w71qm5r0q4j869asv5g39";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath process ];
@@ -42361,8 +42407,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.11.1";
-       sha256 = "16ghy26lzf756197xdm8i3lg5qd8bgzjv80llbkpayibh55rkq72";
+       version = "2.12";
+       sha256 = "0zm85ax4wcdkcyljm2nq40j2yi514x44wr4k75r5qjpsrpsg473v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42675,6 +42721,43 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "cachix_0_1_3" = callPackage
+    ({ mkDerivation, async, base, base16-bytestring, base64-bytestring
+     , bifunctors, bytestring, cachix-api, conduit, conduit-extra
+     , cookie, cryptonite, data-default, dhall, directory, ed25519
+     , filepath, fsnotify, here, hspec, hspec-discover, http-client
+     , http-client-tls, http-conduit, http-types, lzma-conduit
+     , megaparsec, memory, mmorph, optparse-applicative, process
+     , protolude, resourcet, retry, safe-exceptions, servant
+     , servant-auth, servant-auth-client, servant-client
+     , servant-client-core, servant-streaming-client, streaming, text
+     , unix, uri-bytestring, versions
+     }:
+     mkDerivation {
+       pname = "cachix";
+       version = "0.1.3";
+       sha256 = "0vhgkdrrj8wmnzqsjwyrhflwprnizjibgjwcwn5771mjv38amyx0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base base16-bytestring base64-bytestring bifunctors
+         bytestring cachix-api conduit conduit-extra cookie cryptonite
+         data-default dhall directory ed25519 filepath fsnotify here
+         http-client http-client-tls http-conduit http-types lzma-conduit
+         megaparsec memory mmorph optparse-applicative process protolude
+         resourcet retry safe-exceptions servant servant-auth
+         servant-auth-client servant-client servant-client-core
+         servant-streaming-client streaming text unix uri-bytestring
+         versions
+       ];
+       executableHaskellDepends = [ base cachix-api ];
+       executableToolDepends = [ hspec-discover ];
+       testHaskellDepends = [ base cachix-api here hspec protolude ];
+       description = "Command line client for Nix binary cache hosting https://cachix.org";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cachix-api" = callPackage
     ({ mkDerivation, aeson, amazonka, base, base16-bytestring
      , bytestring, conduit, cookie, cryptonite, hspec, hspec-discover
@@ -42715,6 +42798,41 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "cachix-api_0_1_0_3" = callPackage
+    ({ mkDerivation, aeson, amazonka, base, base16-bytestring
+     , bytestring, conduit, cookie, cryptonite, hspec, hspec-discover
+     , http-api-data, http-media, lens, memory, protolude, servant
+     , servant-auth, servant-auth-server, servant-auth-swagger
+     , servant-streaming, servant-swagger, servant-swagger-ui-core
+     , string-conv, swagger2, text, transformers
+     }:
+     mkDerivation {
+       pname = "cachix-api";
+       version = "0.1.0.3";
+       sha256 = "00j5m3pqnlwwvbj4669lpng6awsn5xzz67c6qq5dmc5q7ii2vzdf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson amazonka base base16-bytestring bytestring conduit cookie
+         cryptonite http-api-data http-media lens memory servant
+         servant-auth servant-auth-server servant-auth-swagger
+         servant-streaming servant-swagger servant-swagger-ui-core
+         string-conv swagger2 text transformers
+       ];
+       executableHaskellDepends = [ aeson base ];
+       testHaskellDepends = [
+         aeson amazonka base base16-bytestring bytestring conduit cookie
+         cryptonite hspec http-api-data http-media lens memory protolude
+         servant servant-auth servant-auth-server servant-auth-swagger
+         servant-streaming servant-swagger servant-swagger-ui-core
+         string-conv swagger2 text transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Servant HTTP API specification for https://cachix.org";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cacophony" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, base16-bytestring
      , bytestring, criterion, cryptonite, deepseq, directory, exceptions
@@ -46337,6 +46455,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Automatically convert Generic instances to and from church representations";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "church-list" = callPackage
@@ -48532,6 +48651,7 @@ self: {
        ];
        description = "CMA-ES wrapper in Haskell";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cmark" = callPackage
@@ -48901,27 +49021,25 @@ self: {
      }) {};
 
   "co-log-sys" = callPackage
-    ({ mkDerivation, aeson, base-noprelude, co-log-core, fmt
-     , loot-prelude, microlens, monad-control, mtl, network, universum
-     , unix
+    ({ mkDerivation, aeson, base, co-log-core, fmt, microlens
+     , monad-control, mtl, network, universum, unix
      }:
      mkDerivation {
        pname = "co-log-sys";
-       version = "0.1.0.0";
-       sha256 = "02lh14jhl5qyjlacbp62a6193fqc6p3nk30pksnw5zz8dsyj5iz2";
+       version = "0.1.1.0";
+       sha256 = "12qpbil3zzh7hy28fms4hc1pfmkf9bxqncimwz3mqys7gc3qzi3x";
        libraryHaskellDepends = [
-         aeson base-noprelude co-log-core fmt loot-prelude microlens
-         monad-control mtl network universum unix
+         aeson base co-log-core fmt microlens monad-control mtl network
+         universum unix
        ];
        testHaskellDepends = [
-         aeson base-noprelude co-log-core fmt loot-prelude microlens
-         monad-control mtl network universum unix
+         aeson base co-log-core fmt microlens monad-control mtl network
+         universum unix
        ];
        description = "Syslog implementation on top of 'co-log-core'";
        license = stdenv.lib.licenses.mpl20;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {loot-prelude = null;};
+     }) {};
 
   "coalpit" = callPackage
     ({ mkDerivation, base, generic-random, megaparsec, network-uri
@@ -50065,6 +50183,7 @@ self: {
        testHaskellDepends = [ base QuickCheck text ];
        description = "CSV Parser & Producer";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "command" = callPackage
@@ -50169,24 +50288,6 @@ self: {
 
   "commutative" = callPackage
     ({ mkDerivation, base, QuickCheck, quickcheck-instances, random
-     , semigroups, tasty, tasty-hunit, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "commutative";
-       version = "0.0.1.4";
-       sha256 = "1ky9axa5vs12w4m8wzlnw1cf3m9ndq239534rxfknm3k5h0ldrqd";
-       libraryHaskellDepends = [ base random semigroups ];
-       testHaskellDepends = [
-         base QuickCheck quickcheck-instances random semigroups tasty
-         tasty-hunit tasty-quickcheck
-       ];
-       description = "Commutative binary operations";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "commutative_0_0_2" = callPackage
-    ({ mkDerivation, base, QuickCheck, quickcheck-instances, random
      , semigroups, tasty, tasty-hunit, tasty-quickcheck, vector
      }:
      mkDerivation {
@@ -50284,8 +50385,8 @@ self: {
        pname = "compact";
        version = "0.1.0.1";
        sha256 = "0lynnbvsyr07driy7lm9llrhvmk9wprjdbfc34svzfwldghk71gf";
-       revision = "1";
-       editedCabalFile = "0bdp226gx3gr1hg68xydxhkfr0h469ay60h0s1ywar19y3m8dn1p";
+       revision = "2";
+       editedCabalFile = "1sy8szbmbhn13s54bq04ni234kk05najm3xm0sh6r9qnvg7pcjd7";
        libraryHaskellDepends = [ base binary bytestring ghc-compact ];
        testHaskellDepends = [ base directory ];
        description = "Non-GC'd, contiguous storage for immutable data structures";
@@ -50870,12 +50971,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "composition-prelude_2_0_1_0" = callPackage
+  "composition-prelude_2_0_2_1" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "composition-prelude";
-       version = "2.0.1.0";
-       sha256 = "027fzappyma8hqqkqka21af937h57fdaq8ni73skxa03pcflwqmc";
+       version = "2.0.2.1";
+       sha256 = "0vxgy13k0ca3bi7rh9wc1pdrlpdjbm6va95djmmysdw8a9yyp9wi";
        libraryHaskellDepends = [ base ];
        description = "Higher-order function combinators";
        license = stdenv.lib.licenses.bsd3;
@@ -51444,22 +51545,6 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-output";
-       version = "1.10.7";
-       sha256 = "0w5x81n9ljs8l2b8ypy2naazvrv16qqlm1lfzvsksnii2nm1al30";
-       libraryHaskellDepends = [
-         ansi-terminal async base directory exceptions process stm
-         terminal-size text transformers unix
-       ];
-       description = "Ungarble output from several threads or commands";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-
-  "concurrent-output_1_10_9" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, directory, exceptions
-     , process, stm, terminal-size, text, transformers, unix
-     }:
-     mkDerivation {
-       pname = "concurrent-output";
        version = "1.10.9";
        sha256 = "0mwf155w89nbbkjln7hhbn8k3f8p0ylcvgrg31cm7ijpx4499i4c";
        libraryHaskellDepends = [
@@ -51468,7 +51553,6 @@ self: {
        ];
        description = "Ungarble output from several threads or commands";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "concurrent-rpc" = callPackage
@@ -52920,8 +53004,8 @@ self: {
     ({ mkDerivation, base, constraints, template-haskell }:
      mkDerivation {
        pname = "constraints-extras";
-       version = "0.2.0.0";
-       sha256 = "0id5xaij014vabzkbnl54h8km667vk1mz8dk27kdzfa5vg6pj8j8";
+       version = "0.2.1.0";
+       sha256 = "17rz4j5xgh4qn8ngd4b2814zdp1c59mcksg9jxbln6nvzvw7q0ng";
        libraryHaskellDepends = [ base constraints template-haskell ];
        description = "Utility package for constraints";
        license = stdenv.lib.licenses.bsd3;
@@ -54631,6 +54715,7 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Bindings for libpython";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {python34 = null;};
 
   "cql" = callPackage
@@ -54652,6 +54737,7 @@ self: {
        ];
        description = "Cassandra CQL binary protocol";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cql-io" = callPackage
@@ -55712,17 +55798,42 @@ self: {
      }) {};
 
   "crypto-enigma" = callPackage
-    ({ mkDerivation, base, containers, HUnit, MissingH, mtl, QuickCheck
-     , split
+    ({ mkDerivation, ansi-terminal, base, containers, HUnit, mtl
+     , optparse-applicative, QuickCheck, split, text
+     }:
+     mkDerivation {
+       pname = "crypto-enigma";
+       version = "0.0.3.1";
+       sha256 = "0iadzyp44ylzwq65jqvln1cmlnsvpwvy0cvpn8xfdqd1x0qil8i2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers mtl split text ];
+       executableHaskellDepends = [
+         ansi-terminal base containers mtl optparse-applicative split text
+       ];
+       testHaskellDepends = [ base HUnit QuickCheck ];
+       description = "An Enigma machine simulator with display";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-enigma_0_1_1_1" = callPackage
+    ({ mkDerivation, ansi-terminal, base, containers, HUnit
+     , optparse-applicative, QuickCheck, split, text
      }:
      mkDerivation {
        pname = "crypto-enigma";
-       version = "0.0.2.14";
-       sha256 = "12gvgpi7hichjq9ya77hm9q1x49qc1024zmr6pb1mv57nwwx599p";
-       libraryHaskellDepends = [ base containers MissingH mtl split ];
+       version = "0.1.1.1";
+       sha256 = "0cfkzmgszvlwi4cylzxi2fpniw9a4ral4c6nyrdzjjdij55prafj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers split text ];
+       executableHaskellDepends = [
+         ansi-terminal base containers optparse-applicative split text
+       ];
        testHaskellDepends = [ base HUnit QuickCheck ];
        description = "An Enigma machine simulator with display";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "crypto-multihash" = callPackage
@@ -57048,6 +57159,7 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "bindings to libcurl, the multiprotocol file transfer library";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "currencies" = callPackage
@@ -57074,6 +57186,7 @@ self: {
        ];
        description = "Types representing standard and non-standard currencies";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "currency-codes" = callPackage
@@ -60258,6 +60371,34 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "dbus_1_1_1" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, conduit, containers
+     , criterion, deepseq, directory, exceptions, extra, filepath, lens
+     , network, parsec, process, QuickCheck, random, resourcet, split
+     , tasty, tasty-hunit, tasty-quickcheck, template-haskell, text
+     , th-lift, transformers, unix, vector, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "dbus";
+       version = "1.1.1";
+       sha256 = "094js8lba0hr8421s968fil625n2gmzw3ryglz1dm8lx5wnlvwsz";
+       libraryHaskellDepends = [
+         base bytestring cereal conduit containers deepseq exceptions
+         filepath lens network parsec random split template-haskell text
+         th-lift transformers unix vector xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base bytestring cereal containers directory extra filepath network
+         parsec process QuickCheck random resourcet tasty tasty-hunit
+         tasty-quickcheck text transformers unix vector
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       doCheck = false;
+       description = "A client library for the D-Bus IPC system";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dbus-client" = callPackage
     ({ mkDerivation, base, containers, dbus-core, monads-tf, text
      , transformers
@@ -60825,6 +60966,7 @@ self: {
        libraryHaskellDepends = [ base directory filepath HSH ];
        description = "Utilities to work with debian binary packages";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "debian-build" = callPackage
@@ -61276,8 +61418,8 @@ self: {
      }:
      mkDerivation {
        pname = "deferred-folds";
-       version = "0.9.9";
-       sha256 = "1hsfz93h6d4bzrllgmqr22ankl5pas3vlwg2yhbbcfpf35pdk9vd";
+       version = "0.9.9.1";
+       sha256 = "0dq914blk3w8yw29aw7pm4f3chkjh1v0jwvc1kr1j3v46jjxq17n";
        libraryHaskellDepends = [
          base bytestring containers foldl hashable primitive transformers
          unordered-containers vector
@@ -61726,6 +61868,7 @@ self: {
        libraryHaskellDepends = [ base containers dependent-sum ];
        description = "Dependent finite maps (partial dependent products)";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dependent-monoidal-map" = callPackage
@@ -62557,30 +62700,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall_1_18_0" = callPackage
+  "dhall_1_19_1" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, case-insensitive
      , cborg, containers, contravariant, criterion, cryptonite, deepseq
-     , Diff, directory, doctest, exceptions, filepath, haskeline
-     , http-client, http-client-tls, lens-family-core, megaparsec
-     , memory, mockery, mtl, optparse-applicative, parsers
+     , Diff, directory, doctest, dotgen, exceptions, filepath, haskeline
+     , http-client, http-client-tls, http-types, lens-family-core
+     , megaparsec, memory, mockery, mtl, optparse-applicative, parsers
      , prettyprinter, prettyprinter-ansi-terminal, QuickCheck
      , quickcheck-instances, repline, scientific, serialise, tasty
      , tasty-hunit, tasty-quickcheck, template-haskell, text
-     , transformers, unordered-containers, vector
+     , transformers, unordered-containers, uri-encode, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.18.0";
-       sha256 = "155bmfk4ivjvffyj0zbd21hwg47blswgydhnys2s0zvm9zzyqa5m";
+       version = "1.19.1";
+       sha256 = "14fjfwsirf8l7wirv590ix01liyd0xbhqy4h7pjblyy62m22mlzq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal base bytestring case-insensitive cborg containers
-         contravariant cryptonite Diff directory exceptions filepath
-         haskeline http-client http-client-tls lens-family-core megaparsec
-         memory mtl optparse-applicative parsers prettyprinter
+         contravariant cryptonite Diff directory dotgen exceptions filepath
+         haskeline http-client http-client-tls http-types lens-family-core
+         megaparsec memory mtl optparse-applicative parsers prettyprinter
          prettyprinter-ansi-terminal repline scientific serialise
-         template-haskell text transformers unordered-containers vector
+         template-haskell text transformers unordered-containers uri-encode
+         vector
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -62618,14 +62762,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-bash_1_0_16" = callPackage
+  "dhall-bash_1_0_17" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.16";
-       sha256 = "0zaz38df08fyfil11906agmz7vfz9wapxszzizyvvp9zid5gx58g";
+       version = "1.0.17";
+       sha256 = "0z3wp25rj9czsmycs5h2sy76mnh9d8lxabngn2wbf1r6wbp6bpfv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -62682,15 +62826,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-json_1_2_4" = callPackage
+  "dhall-json_1_2_5" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall
      , optparse-applicative, tasty, tasty-hunit, text
      , unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.2.4";
-       sha256 = "1rv3vf5g3cwiy0ps1yn9jnhk56rbw7fci54xj9fj4iwc2rxb9575";
+       version = "1.2.5";
+       sha256 = "0zdxv43kj8dp2w9hy4px9xf785ybs9jy5pzhzybiagq428k4kcbf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -62754,8 +62898,8 @@ self: {
     ({ mkDerivation, base, dhall, optparse-applicative, text }:
      mkDerivation {
        pname = "dhall-text";
-       version = "1.0.13";
-       sha256 = "09bwhc2wrwliwrvd565wr0rgdxmi0g4i9691b8nb32nybb20l1ah";
+       version = "1.0.14";
+       sha256 = "1485p4fazh3qcbb9khj1pk4f2gh6p6927sabh6miswczdn78z6sy";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -63681,6 +63825,7 @@ self: {
        testHaskellDepends = [ base Diff ];
        description = "A diff algorithm based on recursive longest common substrings";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diff-parse" = callPackage
@@ -63852,6 +63997,7 @@ self: {
        testHaskellDepends = [ array base bytestring digest QuickCheck ];
        description = "Pure hash functions for bytestrings";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "digestive-bootstrap" = callPackage
@@ -66357,24 +66503,42 @@ self: {
        ];
        description = "Low-level bindings to the DocuSign API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "docusign-base-minimal" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, http-media
+     , lens, servant, servant-client, text
+     }:
+     mkDerivation {
+       pname = "docusign-base-minimal";
+       version = "0.0.1";
+       sha256 = "0ifzfjganr9yznm4gxkk204g3ld1mrz4v9yp47w9wh5gmzzarxv5";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default http-media lens servant
+         servant-client text
+       ];
+       description = "Low-level bindings to the DocuSign API (only what is necessary for docusign-client)";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "docusign-client" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
-     , data-default, docusign-base, exceptions, http-client
+     , data-default, docusign-base-minimal, exceptions, http-client
      , http-client-tls, http-types, servant-client, text, uuid
      }:
      mkDerivation {
        pname = "docusign-client";
-       version = "0.0.1";
-       sha256 = "1vyb7n08vqjmc18adbs6ck01q5440a0r99ahb566v427mr9hcydg";
+       version = "0.0.2";
+       sha256 = "14dpb1wdi6372b129hi85ksj2klxdvwnq758742akrrhaaz3lisx";
        libraryHaskellDepends = [
-         aeson base base64-bytestring bytestring data-default docusign-base
-         exceptions http-client http-client-tls http-types servant-client
-         text uuid
+         aeson base base64-bytestring bytestring data-default
+         docusign-base-minimal exceptions http-client http-client-tls
+         http-types servant-client text uuid
        ];
        description = "Client bindings for the DocuSign API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "docusign-example" = callPackage
@@ -66393,6 +66557,7 @@ self: {
        ];
        description = "DocuSign examples";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "docvim" = callPackage
@@ -68404,14 +68569,11 @@ self: {
      }) {};
 
   "easyrender" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, mtl, superdoc
-     , zlib
-     }:
+    ({ mkDerivation, base, bytestring, containers, mtl, zlib }:
      mkDerivation {
        pname = "easyrender";
-       version = "0.1.1.3";
-       sha256 = "105s3d5yz7qz9cv5jq005kzd7jfdn2fccnc4s1xgkszk46y83qbx";
-       setupHaskellDepends = [ base Cabal superdoc ];
+       version = "0.1.1.4";
+       sha256 = "0vj9j41706lalxc2sankpnxrn3mg650wfd4rl6yw32pns6bdq86f";
        libraryHaskellDepends = [ base bytestring containers mtl zlib ];
        description = "User-friendly creation of EPS, PostScript, and PDF files";
        license = stdenv.lib.licenses.gpl3;
@@ -68699,6 +68861,7 @@ self: {
        ];
        description = "Templating language with similar syntax and features to Liquid or Jinja2";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "edenmodules" = callPackage
@@ -69118,8 +69281,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison-tutorial";
-       version = "3.7.12";
-       sha256 = "16dpqwp96ngc15igzxhkn7waxynnxy87lx5j1flp5dj2v71fx17m";
+       version = "3.7.14";
+       sha256 = "1ar5yg00arqd09wva0q1y4d8lfpd0vjw9sgk47jsyqs7ydm59hnb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -69129,6 +69292,7 @@ self: {
        ];
        description = "A tutorial program for the Egison programming language";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "egyptian-fractions" = callPackage
@@ -69364,24 +69528,6 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-core";
-       version = "0.1.1.4";
-       sha256 = "0dz9iv6viya7b5nx9gxj9g0d1k155pvb7i59azf9272wl369mn36";
-       revision = "3";
-       editedCabalFile = "1s3545x9w01rrwzchb4f91ck0n6dc7gf0zwkryqx1b2c95ni5qa8";
-       libraryHaskellDepends = [
-         base containers ghc-prim text unordered-containers
-       ];
-       benchmarkHaskellDepends = [ base ];
-       description = "Tracking of system metrics";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "ekg-core_0_1_1_6" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "ekg-core";
        version = "0.1.1.6";
        sha256 = "0hjprlx99k7mgs2zn06yckir71dvz90xs24g2r990r97mmwxva36";
        libraryHaskellDepends = [
@@ -69390,7 +69536,6 @@ self: {
        benchmarkHaskellDepends = [ base ];
        description = "Tracking of system metrics";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ekg-elastic" = callPackage
@@ -69632,6 +69777,7 @@ self: {
        libraryHaskellDepends = [ base elerea SDL ];
        description = "Elerea FRP wrapper for SDL";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "elevator" = callPackage
@@ -69814,6 +69960,7 @@ self: {
        ];
        description = "A library to generate Elm types from Haskell source";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "elm-export-persistent" = callPackage
@@ -71613,6 +71760,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "escaped" = callPackage
+    ({ mkDerivation, base, doctest, hspec, QuickCheck
+     , quickcheck-instances, quickcheck-properties, text, unix
+     }:
+     mkDerivation {
+       pname = "escaped";
+       version = "1.0.0.0";
+       sha256 = "1fpnaj0ycjhb73skv5dxrycwyyvy0rripvcag88hsjyh1ybxx91v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base QuickCheck quickcheck-instances text unix
+       ];
+       executableHaskellDepends = [ base text ];
+       testHaskellDepends = [
+         base doctest hspec QuickCheck quickcheck-properties
+       ];
+       description = "Produce Text with terminal escape sequences";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "escoger" = callPackage
     ({ mkDerivation, base, bytestring, criterion, HUnit, mtl
      , test-framework, test-framework-hunit, unix, vector
@@ -73300,6 +73468,7 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Compression and decompression in the exomizer format";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "exp-cache" = callPackage
@@ -73432,20 +73601,20 @@ self: {
 
   "expiring-containers" = callPackage
     ({ mkDerivation, base, containers, hashable, int-multimap
-     , quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck, time
-     , timestamp, unordered-containers
+     , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, time, timestamp, unordered-containers
      }:
      mkDerivation {
        pname = "expiring-containers";
-       version = "0.2";
-       sha256 = "1bqcxq42x4s8kj7wpa9iqgaxww6m7vqzkd2dakry1ssy9dv8wp28";
+       version = "0.2.2.1";
+       sha256 = "0zicnfwamm6yx91pb92qjzv0n25cwdz4krymnvpn5vyhh96k3kwh";
        libraryHaskellDepends = [
          base containers hashable int-multimap time timestamp
          unordered-containers
        ];
        testHaskellDepends = [
-         base containers hashable int-multimap quickcheck-instances tasty
-         tasty-hunit tasty-quickcheck time timestamp unordered-containers
+         int-multimap QuickCheck quickcheck-instances rerebase tasty
+         tasty-hunit tasty-quickcheck timestamp
        ];
        description = "Expiring containers";
        license = stdenv.lib.licenses.mit;
@@ -73836,6 +74005,7 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Message passing concurrency as extensible-effect";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "extensible-exceptions" = callPackage
@@ -74348,10 +74518,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-arithmetic";
-       version = "0.6.4.1";
-       sha256 = "0rnbqj495lj2c5xmk35iwhlx6h4m14b35hqz73adspm4ryym00b3";
-       revision = "2";
-       editedCabalFile = "0hla00m1v9sk480yif3kgi2zzqq7snfz6san3yznigpxqzq5rczm";
+       version = "0.6.4.2";
+       sha256 = "1jfdwhbw6g435p7waspg19viykqlqqqc7n8m75j34a8vwqyh5zpa";
        libraryHaskellDepends = [ base hgmp ];
        testHaskellDepends = [ arithmoi base combinat hspec QuickCheck ];
        benchmarkHaskellDepends = [ arithmoi base combinat criterion ];
@@ -75762,6 +75930,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fgl_5_7_0_1" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq, hspec
+     , microbench, QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "fgl";
+       version = "5.7.0.1";
+       sha256 = "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz";
+       libraryHaskellDepends = [
+         array base containers deepseq transformers
+       ];
+       testHaskellDepends = [ base containers hspec QuickCheck ];
+       benchmarkHaskellDepends = [ base deepseq microbench ];
+       description = "Martin Erwig's Functional Graph Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fgl-arbitrary" = callPackage
     ({ mkDerivation, base, containers, fgl, hspec, QuickCheck }:
      mkDerivation {
@@ -76071,8 +76257,8 @@ self: {
      }:
      mkDerivation {
        pname = "filecache";
-       version = "0.4.0";
-       sha256 = "0x2ffqx6wfv6n3k3396463f771zs9ps1rcw8ga3qw4vm5sv8s26d";
+       version = "0.4.1";
+       sha256 = "17fbjdy2cicrd956317jj7fir0bd621c4zb5sb4991ph7jsah0n5";
        libraryHaskellDepends = [
          base containers directory exceptions filepath fsnotify mtl stm
          strict-base-types time
@@ -76724,19 +76910,23 @@ self: {
      }) {};
 
   "fix-imports" = callPackage
-    ({ mkDerivation, base, containers, cpphs, directory, filepath
-     , haskell-src-exts, process, split, text, uniplate
+    ({ mkDerivation, base, containers, cpphs, deepseq, directory
+     , filepath, haskell-src-exts, mtl, pretty, process, split
+     , test-karya, text, time, uniplate
      }:
      mkDerivation {
        pname = "fix-imports";
-       version = "1.1.0";
-       sha256 = "1w2j7l6515khp0zl3cf6pyxsv55c65qqfcxi94vikd8fk88sswd9";
+       version = "2.1.0";
+       sha256 = "1qi877cpfkp7lzdjwq2q6gqqkbvby63z6r22f3ydkx5362ins6kh";
        isLibrary = false;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         base containers cpphs directory filepath haskell-src-exts process
-         split text uniplate
+         base containers cpphs deepseq directory filepath haskell-src-exts
+         pretty process split text time uniplate
+       ];
+       testHaskellDepends = [
+         base containers cpphs deepseq directory filepath haskell-src-exts
+         mtl pretty process split test-karya text time uniplate
        ];
        description = "Program to manage the imports of a haskell module";
        license = stdenv.lib.licenses.bsd3;
@@ -77593,6 +77783,7 @@ self: {
        ];
        description = "Wrapper for flock(2)";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "flow" = callPackage
@@ -77840,6 +78031,7 @@ self: {
        executableHaskellDepends = [ base bytestring fltkhs ];
        description = "Fltkhs Fluid Examples";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fltkhs-hello-world" = callPackage
@@ -78443,8 +78635,8 @@ self: {
      }:
      mkDerivation {
        pname = "follow-file";
-       version = "0.0.2";
-       sha256 = "0661fp7gf5gyb4w06qm7lfaclzp0zk96gkhcx3pallckfr3214hk";
+       version = "0.0.3";
+       sha256 = "0nxvw17ndjrg34mc2a0bcyprcng52f6mn3l7mhx2fc11njdf2b93";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -78453,9 +78645,10 @@ self: {
        ];
        executableHaskellDepends = [
          attoparsec attoparsec-path base bytestring conduit
-         conduit-combinators directory hinotify path text
+         conduit-combinators directory exceptions hinotify monad-control mtl
+         path text unix utf8-string
        ];
-       description = "Be notified when a file gets appended, solely with what was added";
+       description = "Be notified when a file gets appended, solely with what was added. Warning - only works on linux and for files that are strictly appended, like log files.";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -80059,6 +80252,7 @@ self: {
        ];
        description = "Fresco binding for Haskell";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fresh" = callPackage
@@ -80792,6 +80986,27 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "funcons-intgen" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , funcons-tools, funcons-values, gll, iml-tools, mtl, pretty
+     , regex-applicative, split, text, uu-cco
+     }:
+     mkDerivation {
+       pname = "funcons-intgen";
+       version = "0.2.0.1";
+       sha256 = "12g6lizcxhvk26k3qp1k3v9dz9pz9xx004jpmipqm291r9nyiya9";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base containers directory filepath funcons-tools funcons-values gll
+         iml-tools mtl pretty regex-applicative split text uu-cco
+       ];
+       description = "Generate Funcons interpreters from CBS description files";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {iml-tools = null;};
+
   "funcons-lambda-cbv-mp" = callPackage
     ({ mkDerivation, base, containers, funcons-tools, gll, text }:
      mkDerivation {
@@ -81095,6 +81310,7 @@ self: {
        ];
        description = "Utility functions for using funflow with nix";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "funion" = callPackage
@@ -81380,6 +81596,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fuzzyset_0_1_0_8" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, data-default, hspec
+     , ieee754, lens, text, text-metrics, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "fuzzyset";
+       version = "0.1.0.8";
+       sha256 = "096izffsa3fgdi8qiz7n6l2fl2rbiq6kv5h1xljmq0nkaig5m5wv";
+       libraryHaskellDepends = [
+         base base-unicode-symbols data-default lens text text-metrics
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base base-unicode-symbols hspec ieee754 lens text
+         unordered-containers
+       ];
+       description = "Fuzzy set for approximate string matching";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fuzzytime" = callPackage
     ({ mkDerivation, base, cmdargs, directory, old-time, process }:
      mkDerivation {
@@ -82411,6 +82648,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "generic-data-surgery" = callPackage
+    ({ mkDerivation, base, first-class-families, generic-data, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "generic-data-surgery";
+       version = "0.1.0.0";
+       sha256 = "1ady7wkg6bs8iadahz33gn7pas2176wg2fsphxs4nq7fi2c566a4";
+       libraryHaskellDepends = [ base first-class-families generic-data ];
+       testHaskellDepends = [ base generic-data tasty tasty-hunit ];
+       description = "Surgery for generic data types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "generic-deepseq" = callPackage
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
@@ -82490,6 +82742,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "generic-lens_1_1_0_0" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, doctest, HUnit
+     , inspection-testing, lens, profunctors, QuickCheck, tagged
+     }:
+     mkDerivation {
+       pname = "generic-lens";
+       version = "1.1.0.0";
+       sha256 = "1frng5vgk4pkaw8wqqj6ch9p5fk88rbw1mmxzs0cp13wpxnr9wpc";
+       libraryHaskellDepends = [ base profunctors tagged ];
+       testHaskellDepends = [
+         base doctest HUnit inspection-testing lens profunctors
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq lens QuickCheck
+       ];
+       description = "Generically derive traversals, lenses and prisms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "generic-lens-labels" = callPackage
     ({ mkDerivation, base, generic-lens }:
      mkDerivation {
@@ -83309,6 +83581,7 @@ self: {
        ];
        description = "Standard spec's for optics";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "genvalidity-mergeless" = callPackage
@@ -84264,6 +84537,7 @@ self: {
        libraryHaskellDepends = [ base concurrent-extra deepseq ghci ];
        description = "Library for hot-swapping shared objects in GHC";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-imported-from" = callPackage
@@ -85568,7 +85842,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 {
@@ -85580,11 +85854,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
@@ -86410,23 +86684,22 @@ self: {
      , byteable, bytestring, Cabal, case-insensitive, concurrent-output
      , conduit, connection, containers, crypto-api, cryptonite, curl
      , data-default, DAV, dbus, directory, disk-free-space, dlist
-     , edit-distance, esqueleto, exceptions, fdo-notify, feed, filepath
-     , free, git, gnupg, hinotify, hslogger, http-client
-     , http-client-tls, http-conduit, http-types, IfElse, lsof, magic
-     , memory, microlens, monad-control, monad-logger, mountpoints, mtl
-     , network, network-info, network-multicast, network-uri, old-locale
-     , openssh, optparse-applicative, perl, persistent
-     , persistent-sqlite, persistent-template, process, QuickCheck
-     , random, regex-tdfa, resourcet, rsync, SafeSemaphore, sandi
-     , securemem, socks, split, stm, stm-chans, tagsoup, tasty
-     , tasty-hunit, tasty-quickcheck, tasty-rerun, text, time, torrent
-     , transformers, unix, unix-compat, unordered-containers
-     , utf8-string, uuid, vector, wget, which
+     , edit-distance, exceptions, fdo-notify, feed, filepath, free, git
+     , gnupg, hinotify, hslogger, http-client, http-client-tls
+     , http-conduit, http-types, IfElse, lsof, magic, memory, microlens
+     , monad-control, monad-logger, mountpoints, mtl, network
+     , network-info, network-multicast, network-uri, old-locale, openssh
+     , optparse-applicative, perl, persistent, persistent-sqlite
+     , persistent-template, process, QuickCheck, random, regex-tdfa
+     , resourcet, rsync, SafeSemaphore, sandi, securemem, socks, split
+     , stm, stm-chans, tagsoup, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-rerun, text, time, torrent, transformers, unix, unix-compat
+     , unordered-containers, utf8-string, uuid, vector, wget, which
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "7.20181105";
-       sha256 = "0jh49bfgsccrvhdgyp1xp5rj0vp9iz8kkmh1x5cmrsjajs8qdpw3";
+       version = "7.20181121";
+       sha256 = "07fbnz3rr9dq76zx6cpxdxppkgb7wwhbrm9y89jdcpn8giaz0i6h";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-f-s3"
@@ -86443,8 +86716,8 @@ self: {
          aeson async attoparsec base bloomfilter byteable bytestring
          case-insensitive concurrent-output conduit connection containers
          crypto-api cryptonite data-default DAV dbus directory
-         disk-free-space dlist edit-distance esqueleto exceptions fdo-notify
-         feed filepath free hinotify hslogger http-client http-client-tls
+         disk-free-space dlist edit-distance exceptions fdo-notify feed
+         filepath free hinotify hslogger http-client http-client-tls
          http-conduit http-types IfElse magic memory microlens monad-control
          monad-logger mountpoints mtl network network-info network-multicast
          network-uri old-locale optparse-applicative persistent
@@ -86827,8 +87100,8 @@ self: {
      }:
      mkDerivation {
        pname = "githash";
-       version = "0.1.2.0";
-       sha256 = "0pwh0s4gfddy0ixx92ww00v9qam2cx047ivqcm373fw5h2h1vrq8";
+       version = "0.1.3.0";
+       sha256 = "0rnp5ljrb05kd127fy2s5jlxjvjfs50dar92pahb36w2qw2clnp7";
        libraryHaskellDepends = [
          base bytestring directory filepath process template-haskell
        ];
@@ -87030,6 +87303,7 @@ self: {
        ];
        description = "Type definitions for objects used by the GitHub v3 API";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "github-utils" = callPackage
@@ -88117,6 +88391,7 @@ self: {
        testHaskellDepends = [ base directory filepath gloss JuicyPixels ];
        description = "Export Gloss pictures to png, bmp, tga, tiff, gif and juicy-pixels-image";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gloss-game" = callPackage
@@ -91852,15 +92127,15 @@ self: {
 
   "greskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, doctest, doctest-discover
-     , greskell-core, hint, hspec, semigroups, text, transformers
-     , unordered-containers, vector
+     , exceptions, greskell-core, hint, hspec, semigroups, text
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "greskell";
-       version = "0.2.1.1";
-       sha256 = "0nplscs0gv9isb1z2i8qh50yssvd7kkd669j53491hjw53rwy1cs";
+       version = "0.2.2.0";
+       sha256 = "1ka4iqfyr03dj2kw22h1gik70cfhhvn870w9q9fd42n2k794snbz";
        libraryHaskellDepends = [
-         aeson base greskell-core semigroups text transformers
+         aeson base exceptions greskell-core semigroups text transformers
          unordered-containers vector
        ];
        testHaskellDepends = [
@@ -92463,6 +92738,7 @@ self: {
        ];
        description = "scrapes google scholar, provides RSS feed";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gsl-random" = callPackage
@@ -92855,6 +93131,7 @@ self: {
        libraryHaskellDepends = [ base glib ];
        description = "A type class for cast functions of Gtk2hs: glib package";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gtk2hs-cast-gnomevfs" = callPackage
@@ -95614,8 +95891,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-dhall";
-       version = "0.2.2.1";
-       sha256 = "03s1fs95mhaxwq79gf2qjlbzjfkimd3kkiksjmp42j8zxn0y9sbf";
+       version = "0.2.2.2";
+       sha256 = "0w2vhma28904mg7bymk0qd3gzwirbjkjkw862jxg2zzcnsg8m04i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -98293,6 +98570,8 @@ self: {
        pname = "haskell-awk";
        version = "1.1.1";
        sha256 = "0s6vzfsqh2wwsp98l8zpg6cvh7jwz5wha44idz3yavhmy6z08zgd";
+       revision = "1";
+       editedCabalFile = "1rrplmf2n4vkwisi367gi4a6yyh0ri2sdjqmdix7xyvfdad7m9cb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -98702,7 +98981,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
      }:
@@ -98715,12 +98994,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 }:
@@ -98808,8 +99087,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-igraph";
-       version = "0.7.0";
-       sha256 = "139qicfqg2m6jl3r7lbs2wcp1bvra3rp0vgb7ghafj2k70i0vddv";
+       version = "0.7.1";
+       sha256 = "16sx8sx3dky6zlwhnf3fyrkcqzwrnf94hd1wfj087bgb36hxsavp";
        libraryHaskellDepends = [
          base bytestring cereal colour conduit containers data-ordlist hxt
          primitive singletons split
@@ -99535,22 +99814,6 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-src-exts-util";
-       version = "0.2.3";
-       sha256 = "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8";
-       libraryHaskellDepends = [
-         base containers data-default haskell-src-exts semigroups
-         transformers uniplate
-       ];
-       description = "Helper functions for working with haskell-src-exts trees";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "haskell-src-exts-util_0_2_4" = callPackage
-    ({ mkDerivation, base, containers, data-default, haskell-src-exts
-     , semigroups, transformers, uniplate
-     }:
-     mkDerivation {
-       pname = "haskell-src-exts-util";
        version = "0.2.4";
        sha256 = "1xbf28aisqizy3a0sy42p3rwib2s7jaqi6dcr6lp4b1j54xazf5y";
        libraryHaskellDepends = [
@@ -99559,7 +99822,6 @@ self: {
        ];
        description = "Helper functions for working with haskell-src-exts trees";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-src-meta" = callPackage
@@ -99785,6 +100047,7 @@ self: {
        ];
        description = "Command-line frontend for Haskell-tools Refact";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-tools-daemon" = callPackage
@@ -99818,6 +100081,7 @@ self: {
        ];
        description = "Background process for Haskell-tools that editors can connect to";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-tools-debug" = callPackage
@@ -101544,6 +101808,7 @@ self: {
        testHaskellDepends = [ base tasty tasty-quickcheck ];
        description = "Variant and EADT";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskyapi" = callPackage
@@ -102807,6 +103072,7 @@ self: {
        ];
        description = "Third-party extensions to hbro";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hburg" = callPackage
@@ -103866,52 +104132,25 @@ self: {
   "hedis" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-lexing
      , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
-     , resource-pool, scanner, slave-thread, stm, test-framework
-     , test-framework-hunit, text, time, tls, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "hedis";
-       version = "0.10.4";
-       sha256 = "1xsa6wgakmjhwz9s9fybbwsx6gxy6630bqyrai0sb4vmd9lnbxfx";
-       libraryHaskellDepends = [
-         async base bytestring bytestring-lexing deepseq errors HTTP mtl
-         network network-uri resource-pool scanner stm text time tls
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         async base bytestring doctest HUnit mtl slave-thread stm
-         test-framework test-framework-hunit text time
-       ];
-       benchmarkHaskellDepends = [ base mtl time ];
-       description = "Client library for the Redis datastore: supports full command set, pipelining";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hedis_0_10_6" = callPackage
-    ({ mkDerivation, async, base, bytestring, bytestring-lexing
-     , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
-     , resource-pool, scanner, slave-thread, stm, test-framework
-     , test-framework-hunit, text, time, tls, unordered-containers
-     , vector
+     , resource-pool, scanner, stm, test-framework, test-framework-hunit
+     , text, time, tls, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.10.6";
-       sha256 = "0s5snr3qbr2yd1ij6ifsrjaabx24ppmckz7ygdsr6c2fd99hijai";
+       version = "0.10.8";
+       sha256 = "058lm0gfgqack5627ys1iwlwkqgcniqfnvjlabvhkq4643lgv6a1";
        libraryHaskellDepends = [
          async base bytestring bytestring-lexing deepseq errors HTTP mtl
          network network-uri resource-pool scanner stm text time tls
          unordered-containers vector
        ];
        testHaskellDepends = [
-         async base bytestring doctest HUnit mtl slave-thread stm
-         test-framework test-framework-hunit text time
+         async base bytestring doctest HUnit mtl stm test-framework
+         test-framework-hunit text time
        ];
        benchmarkHaskellDepends = [ base mtl time ];
        description = "Client library for the Redis datastore: supports full command set, pipelining";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedis-config" = callPackage
@@ -107820,6 +108059,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {inherit (pkgs) libsass;};
 
+  "hlibsass_0_1_8_0" = callPackage
+    ({ mkDerivation, base, Cabal, directory, hspec, libsass }:
+     mkDerivation {
+       pname = "hlibsass";
+       version = "0.1.8.0";
+       sha256 = "1ssgvr0jvl79k1vckp5nq2zw6mx8l4xasydymzjwmhg0fl99mpi6";
+       configureFlags = [ "-fexternalLibsass" ];
+       setupHaskellDepends = [ base Cabal directory ];
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ libsass ];
+       testHaskellDepends = [ base hspec ];
+       description = "Low-level bindings to Libsass";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) libsass;};
+
   "hlint" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
      , containers, cpphs, data-default, directory, extra, filepath
@@ -108721,7 +108976,7 @@ self: {
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base ];
-       license = stdenv.lib.licenses.unfree;
+       license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -108808,8 +109063,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.8.2";
-       sha256 = "0bh6ngq9850bxl2m1qpvnanif5nz09k697rw3sk6djqkcw3lv305";
+       version = "1.8.3";
+       sha256 = "1mx0ifkcji8d30f4ar50jraj1sz91n6v803yfb4zaj9wppw2iz57";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -109687,8 +109942,8 @@ self: {
        pname = "hookup";
        version = "0.2.2";
        sha256 = "1q9w8j4g8j9ijfvwpng4i3k2b8pkf4ln27bcdaalnp9yyidmxlqf";
-       revision = "2";
-       editedCabalFile = "12x7h7yg0x9gqv9yj2snp3k221yzyphm1l7aixkz1szxp1pndfgy";
+       revision = "3";
+       editedCabalFile = "0fmnfnlcc5jg0na2723ibh26sch190s62d52g14gffh9fsl9icgy";
        libraryHaskellDepends = [
          attoparsec base bytestring HsOpenSSL HsOpenSSL-x509-system network
        ];
@@ -110490,8 +110745,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack-dhall";
-       version = "0.5.0";
-       sha256 = "0nqvcs9ch2knlllb0r0j0aqwab7h3yxh5iay377gyq8xc0m4l8w6";
+       version = "0.5.1";
+       sha256 = "0rgdk1jiczl4rwa66irbfcif4rvkrcyzk29lmpwr2kkqjz0zi7kk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -110905,7 +111160,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) postgresql;};
 
-  "hpqtypes_1_6_0_0" = callPackage
+  "hpqtypes_1_6_1_0" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, Cabal, containers
      , data-default-class, directory, exceptions, filepath, HUnit
      , lifted-base, monad-control, mtl, postgresql, QuickCheck, random
@@ -110915,10 +111170,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpqtypes";
-       version = "1.6.0.0";
-       sha256 = "1aydpbkp5if7416dvswiygn7vfhgg7nza9p011gld18pr9mpsf5i";
-       revision = "4";
-       editedCabalFile = "0ap170l390j0iwxlrrqarnxqp2bbpfv0xjkxnwdri0ksw7p7h7i2";
+       version = "1.6.1.0";
+       sha256 = "02vh9l86dnayccvfq3cqmk6gbbwyqglnpg3mhr3v72vraxymm7jn";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          aeson async base bytestring containers data-default-class
@@ -110988,6 +111241,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hprotoc_2_4_12" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , directory, filepath, haskell-src-exts, mtl, parsec
+     , protocol-buffers, protocol-buffers-descriptor, utf8-string
+     }:
+     mkDerivation {
+       pname = "hprotoc";
+       version = "2.4.12";
+       sha256 = "0xj000ikh3y8dg5sbrl7ycb471qgra4khmk4kq079biasjvhf58a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers directory filepath
+         haskell-src-exts mtl parsec protocol-buffers
+         protocol-buffers-descriptor utf8-string
+       ];
+       libraryToolDepends = [ alex ];
+       executableHaskellDepends = [
+         array base binary bytestring containers directory filepath
+         haskell-src-exts mtl parsec protocol-buffers
+         protocol-buffers-descriptor utf8-string
+       ];
+       executableToolDepends = [ alex ];
+       description = "Parse Google Protocol Buffer specifications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hprotoc-fork" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , directory, filepath, haskell-src-exts, mtl, parsec
@@ -111068,6 +111349,7 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Haskell bindings for libpuz";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hpygments" = callPackage
@@ -111120,38 +111402,6 @@ self: {
 
   "hquantlib" = callPackage
     ({ mkDerivation, base, containers, hmatrix, hmatrix-gsl
-     , hmatrix-special, HUnit, mersenne-random-pure64, parallel
-     , QuickCheck, random, statistics, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, time, vector
-     , vector-algorithms
-     }:
-     mkDerivation {
-       pname = "hquantlib";
-       version = "0.0.4.0";
-       sha256 = "0x24qkbpclir0ik52hyxw3ahnqk1nqscxpx1ahnxs4w1bv7bkcmp";
-       revision = "2";
-       editedCabalFile = "1wx32kkv1as3rras5b1y3v77abx0sqsam6ssa5s7vm83pncx38y4";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers hmatrix hmatrix-gsl hmatrix-special
-         mersenne-random-pure64 parallel random statistics time vector
-         vector-algorithms
-       ];
-       executableHaskellDepends = [
-         base containers mersenne-random-pure64 parallel time
-       ];
-       testHaskellDepends = [
-         base HUnit QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2
-       ];
-       description = "HQuantLib is a port of essencial parts of QuantLib to Haskell";
-       license = "LGPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "hquantlib_0_0_5_0" = callPackage
-    ({ mkDerivation, base, containers, hmatrix, hmatrix-gsl
      , hmatrix-special, hquantlib-time, HUnit, mersenne-random-pure64
      , parallel, QuickCheck, random, statistics, test-framework
      , test-framework-hunit, test-framework-quickcheck2, time, vector
@@ -112105,8 +112355,8 @@ self: {
     ({ mkDerivation, base, HUnit, lens }:
      mkDerivation {
        pname = "hsPID";
-       version = "0.1";
-       sha256 = "16ks8pvpd0rcw11zinzlldv21i6mbcbrnnq3j9z3vmcjpd25wzim";
+       version = "0.1.2";
+       sha256 = "0zyh2xbnpcfi1r93xxrki0qg0cgmc1g6wwx4hy1kn88fr9wqrgkv";
        libraryHaskellDepends = [ base lens ];
        testHaskellDepends = [ base HUnit lens ];
        description = "PID control loop";
@@ -112191,6 +112441,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hsass_0_8_0" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, filepath
+     , hlibsass, hspec, hspec-discover, monad-loops, temporary, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hsass";
+       version = "0.8.0";
+       sha256 = "1bnjvj6dpmcbpkbi4g5m5hvr0w5rmd7y5zkiwbqc8n9y4l2dkd5g";
+       libraryHaskellDepends = [
+         base bytestring data-default-class filepath hlibsass monad-loops
+         transformers
+       ];
+       testHaskellDepends = [
+         base bytestring data-default-class hspec hspec-discover temporary
+         text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Integrating Sass into Haskell applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hsay" = callPackage
     ({ mkDerivation, base, Hclip, HTTP, process, unix }:
      mkDerivation {
@@ -114468,8 +114741,8 @@ self: {
     ({ mkDerivation, base, hspec, hspec-core, HUnit, leancheck }:
      mkDerivation {
        pname = "hspec-leancheck";
-       version = "0.0.2";
-       sha256 = "1780xhwmbvkhca3l6rckbnr92f7i3icarwprdcfnrrdpk4yq9ml8";
+       version = "0.0.3";
+       sha256 = "0lnqk4dkzqlzrq2hb72yv8xbbnps4bmjqz1qy9q47r8nrac8xpiq";
        libraryHaskellDepends = [ base hspec hspec-core HUnit leancheck ];
        testHaskellDepends = [ base hspec leancheck ];
        description = "LeanCheck support for the Hspec test framework";
@@ -115712,8 +115985,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsyslog-udp";
-       version = "0.2.3";
-       sha256 = "1gmnyiqd7abh7b4vk9y24s9r0jgfvqd8jqpz9f1p97yidzic8gzh";
+       version = "0.2.4";
+       sha256 = "1xahxchr1il9naf8kdwdbh1sy5vv4afqkcxfy4993nsk5j7zs586";
        libraryHaskellDepends = [
          base bytestring hsyslog network text time unix
        ];
@@ -116344,6 +116617,7 @@ self: {
        libraryHaskellDepends = [ base bytestring ];
        description = "Functions for working with HTTP Accept headers";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-api-data" = callPackage
@@ -116423,33 +116697,6 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.5.13.1";
-       sha256 = "0szwbgvkkdz56lgi91armkagmb7nnfwbpp4j7cm9zhmffv3ba8g1";
-       libraryHaskellDepends = [
-         array base blaze-builder bytestring case-insensitive containers
-         cookie deepseq exceptions filepath ghc-prim http-types memory
-         mime-types network network-uri random stm streaming-commons text
-         time transformers
-       ];
-       testHaskellDepends = [
-         async base blaze-builder bytestring case-insensitive containers
-         deepseq directory hspec http-types monad-control network
-         network-uri streaming-commons text time transformers zlib
-       ];
-       doCheck = false;
-       description = "An HTTP client engine";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "http-client_0_5_14" = callPackage
-    ({ mkDerivation, array, async, base, blaze-builder, bytestring
-     , case-insensitive, containers, cookie, deepseq, directory
-     , exceptions, filepath, ghc-prim, hspec, http-types, memory
-     , mime-types, monad-control, network, network-uri, random, stm
-     , streaming-commons, text, time, transformers, zlib
-     }:
-     mkDerivation {
-       pname = "http-client";
        version = "0.5.14";
        sha256 = "0irnvrxlsr9f7ybvzbpv24zbq3lhxjzh6bavjnl527020jbl0l4f";
        libraryHaskellDepends = [
@@ -116466,7 +116713,6 @@ self: {
        doCheck = false;
        description = "An HTTP client engine";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-client-auth" = callPackage
@@ -116751,6 +116997,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "http-conduit_2_3_4" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring
+     , case-insensitive, conduit, conduit-extra, connection, cookie
+     , data-default-class, hspec, http-client, http-client-tls
+     , http-types, HUnit, mtl, network, resourcet, streaming-commons
+     , temporary, text, time, transformers, unliftio, unliftio-core
+     , utf8-string, wai, wai-conduit, warp, warp-tls
+     }:
+     mkDerivation {
+       pname = "http-conduit";
+       version = "2.3.4";
+       sha256 = "03si9ymgnv1252q3wyj8cblbzx56shcvmi1hx51p90a2aiqbhj15";
+       libraryHaskellDepends = [
+         aeson base bytestring conduit conduit-extra http-client
+         http-client-tls http-types mtl resourcet transformers unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson base blaze-builder bytestring case-insensitive conduit
+         conduit-extra connection cookie data-default-class hspec
+         http-client http-types HUnit network resourcet streaming-commons
+         temporary text time transformers unliftio utf8-string wai
+         wai-conduit warp warp-tls
+       ];
+       doCheck = false;
+       description = "HTTP client package with conduit interface and HTTPS support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-conduit-browser" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
      , case-insensitive, conduit, containers, cookie, data-default
@@ -118128,6 +118403,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-aeson" = callPackage
+    ({ mkDerivation, aeson, base, hedgehog, hspec, text }:
+     mkDerivation {
+       pname = "hw-aeson";
+       version = "0.1.0.0";
+       sha256 = "0k9yzf8dfgqawyjgkk4s27ps3mcmxj3k6xqgrixym1vqzasjsp0d";
+       libraryHaskellDepends = [ aeson base text ];
+       testHaskellDepends = [ aeson base hedgehog hspec ];
+       description = "Convenience functions for Aeson";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hw-balancedparens" = callPackage
     ({ mkDerivation, base, criterion, hspec, hw-bits, hw-excess
      , hw-prim, hw-rankselect-base, QuickCheck, vector
@@ -118150,25 +118437,6 @@ self: {
      }) {};
 
   "hw-bits" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, hspec, hw-int
-     , hw-prim, hw-string-parse, QuickCheck, safe, vector
-     }:
-     mkDerivation {
-       pname = "hw-bits";
-       version = "0.7.0.3";
-       sha256 = "1z6h8ljws92jdchzbkv7siig859b21ck04xnp2fka2j8p97d437w";
-       libraryHaskellDepends = [
-         base bytestring hw-int hw-prim hw-string-parse safe vector
-       ];
-       testHaskellDepends = [
-         base bytestring hspec hw-prim QuickCheck vector
-       ];
-       benchmarkHaskellDepends = [ base criterion hw-prim vector ];
-       description = "Bit manipulation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hw-bits_0_7_0_4" = callPackage
     ({ mkDerivation, base, bytestring, criterion, hedgehog, hspec
      , hw-hspec-hedgehog, hw-int, hw-prim, hw-string-parse, QuickCheck
      , safe, vector
@@ -118187,7 +118455,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion hw-prim vector ];
        description = "Bit manipulation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-conduit" = callPackage
@@ -118249,8 +118516,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-dsv";
-       version = "0.3.0";
-       sha256 = "0cpnzf8f4mk28jpxx66q8mv0gm3rassjp48r17hwzkalvw3ng3ni";
+       version = "0.3.2";
+       sha256 = "14xkyvqggax9vx46kvsg3w0h7pnsfsbwbd5jbr95p5nw8yrsa8pg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -118690,8 +118957,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.6.2.19";
-       sha256 = "06d124i6y1kai14yfpwbys3fvpqxf7wrvyhhlihqdvpqfksll1dv";
+       version = "0.6.2.20";
+       sha256 = "05azmns8nvdpfhd0fi71slsgn8irghyx25rynipc44ff407c1maa";
        libraryHaskellDepends = [
          base bytestring mmap semigroups transformers vector
        ];
@@ -118706,6 +118973,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-prim_0_6_2_22" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, directory, exceptions
+     , hedgehog, hspec, hw-hspec-hedgehog, mmap, QuickCheck, semigroups
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "hw-prim";
+       version = "0.6.2.22";
+       sha256 = "16dfajzylki7g7p8q2a79dvx3xymxkrpckajdks9k3q4rxsc6k0i";
+       libraryHaskellDepends = [
+         base bytestring mmap semigroups transformers vector
+       ];
+       testHaskellDepends = [
+         base bytestring directory exceptions hedgehog hspec
+         hw-hspec-hedgehog mmap QuickCheck semigroups transformers vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion mmap semigroups transformers vector
+       ];
+       description = "Primitive functions and data types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hw-prim-bits" = callPackage
     ({ mkDerivation, base, criterion, hedgehog, hspec, hw-hedgehog
      , hw-hspec-hedgehog, QuickCheck, vector
@@ -119262,6 +119553,7 @@ self: {
        libraryHaskellDepends = [ base bytestring curl hxt parsec ];
        description = "LibCurl interface for HXT";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hxt-expat" = callPackage
@@ -119273,6 +119565,7 @@ self: {
        libraryHaskellDepends = [ base bytestring hexpat hxt ];
        description = "Expat parser for HXT";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hxt-extras" = callPackage
@@ -119379,6 +119672,7 @@ self: {
        ];
        description = "TagSoup parser for HXT";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hxt-unicode" = callPackage
@@ -119404,6 +119698,7 @@ self: {
        ];
        description = "The XPath modules for HXT";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hxt-xslt" = callPackage
@@ -119419,6 +119714,7 @@ self: {
        ];
        description = "The XSLT modules for HXT";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hxthelper" = callPackage
@@ -120075,7 +120371,7 @@ self: {
          base binary bytestring hedgehog protolude text
        ];
        description = "Modules for parsing, generating and manipulating AB1 files";
-       license = stdenv.lib.licenses.bsd3;
+       license = "(BSD-3-Clause OR Apache-2.0)";
      }) {};
 
   "hzaif" = callPackage
@@ -121629,15 +121925,16 @@ self: {
      }) {};
 
   "impl" = callPackage
-    ({ mkDerivation, base, named, template-haskell }:
+    ({ mkDerivation, base, containers, named, template-haskell }:
      mkDerivation {
        pname = "impl";
-       version = "0.1.0.0";
-       sha256 = "00l50mrl7g3jzixlj3z2kar61vzb152lnn485b7zdsz4vgqxs1sx";
-       libraryHaskellDepends = [ base named template-haskell ];
+       version = "0.2.0.0";
+       sha256 = "00fyb41abz9k52ninlavnldm2vz20wbhdrdq5r2s7ir1karv551g";
+       libraryHaskellDepends = [ base containers named template-haskell ];
        doHaddock = false;
        description = "Framework for defaulting superclasses";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "implicit" = callPackage
@@ -122433,30 +122730,6 @@ self: {
      }:
      mkDerivation {
        pname = "influxdb";
-       version = "1.6.0.9";
-       sha256 = "0xs2bbqgaj6zmk6wrfm21q516qa2x7qfcvfazkkvyv49vvk9i7is";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring clock containers foldl http-client
-         http-types lens network optional-args scientific tagged text time
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ base doctest QuickCheck template-haskell ];
-       description = "Haskell client library for InfluxDB";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "influxdb_1_6_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
-     , cabal-doctest, clock, containers, doctest, foldl, http-client
-     , http-types, lens, network, optional-args, QuickCheck, scientific
-     , tagged, template-haskell, text, time, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "influxdb";
        version = "1.6.1";
        sha256 = "1hfyp284lpvgy0rqn7rjr7c8z0ah8h0vl3xhfrff8x1z1511n2dp";
        isLibrary = true;
@@ -122470,7 +122743,6 @@ self: {
        testHaskellDepends = [ base doctest QuickCheck template-haskell ];
        description = "Haskell client library for InfluxDB";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "informative" = callPackage
@@ -124435,6 +124707,8 @@ self: {
        pname = "irc-core";
        version = "2.5.0";
        sha256 = "124zfp6s8hj7z3m873145bnr0z8xlkbr1qgj2hvasd2qs2zrb8y8";
+       revision = "1";
+       editedCabalFile = "06n7shnd8ij4wlzm5xhxdqv26b3am8mgbqfcvsqppk6hgmmyvggq";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring bytestring hashable primitive
          text time vector
@@ -125686,6 +125960,7 @@ self: {
        doHaddock = false;
        description = "Generate flamegraphs from Jaeger .json dumps.";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jail" = callPackage
@@ -127024,8 +127299,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "1.0.4";
-       sha256 = "07xj9h2zdiyvrib93d99xi179nbzir96yylwkxajpfckfgyi4xmp";
+       version = "1.0.5";
+       sha256 = "17y8hnqp4ahg7cx6fwfd4y65pz16py1avhfkn4fcfjs06xv465qs";
        libraryHaskellDepends = [
          aeson base bytestring mime-types network-uri tagsoup text time
        ];
@@ -129548,8 +129823,8 @@ self: {
     ({ mkDerivation, base, kind-apply }:
      mkDerivation {
        pname = "kind-generics";
-       version = "0.1.1.0";
-       sha256 = "07qzr2kkywqv47fjxyfxzklsai61pyb3q26lsbvxvnn0jqdg1z7a";
+       version = "0.2.0";
+       sha256 = "07bvdys7xlxds1q6hlqn299709k1fha81hap7jfn8snyjv3fdfal";
        libraryHaskellDepends = [ base kind-apply ];
        description = "Generic programming in GHC style for arbitrary kinds and GADTs";
        license = stdenv.lib.licenses.bsd3;
@@ -130144,8 +130419,8 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "1.0.6";
-       sha256 = "1z8ipsf78l57jbkcyhjfwbgvj5gmna46x1jvcrin01rpg8xy97q4";
+       version = "1.0.7";
+       sha256 = "0n90m4dsqfp4x4bckwxasg2cmjrzxp2szrlqf43pmp2dsc8g0646";
        libraryHaskellDepends = [ base servant servant-foreign text ];
        testHaskellDepends = [ base hspec servant servant-foreign text ];
        description = "Generate Ruby clients from Servant APIs";
@@ -130626,6 +130901,7 @@ self: {
        testHaskellDepends = [ base hspec HUnit text ];
        description = "Lambdabot for Zulip Chat";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdacat" = callPackage
@@ -132800,6 +133076,7 @@ self: {
        libraryHaskellDepends = [ array base vector ];
        description = "L-BFGS optimization";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lca" = callPackage
@@ -133803,6 +134080,7 @@ self: {
        ];
        description = "Van Laarhoven lens templates";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "level-monad" = callPackage
@@ -134602,8 +134880,8 @@ self: {
      }:
      mkDerivation {
        pname = "libssh2";
-       version = "0.2.0.6";
-       sha256 = "17v006ixkn9wblhnq1nyx1xi7sc9lshyh1ma2y82483w18n849s1";
+       version = "0.2.0.7";
+       sha256 = "05h0awwhqlswjjybw6y1p8byyvfggnx63n0cbqvknrkq338qfnyw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring network syb time unix ];
@@ -137283,8 +137561,8 @@ self: {
     ({ mkDerivation, base, containers, doctest, hedgehog }:
      mkDerivation {
        pname = "loc";
-       version = "0.1.3.3";
-       sha256 = "0vnnw8ix38r441czsgmcwn7iavvmy6v5c12qflhz0ah055ahl8xa";
+       version = "0.1.3.4";
+       sha256 = "1xdqnqr4wy3xw9vyfkf6c8xsq74nryhb8z31grcwpn6ppdgzyqy2";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest hedgehog ];
        description = "Types representing line and column positions and ranges in text files";
@@ -137296,8 +137574,8 @@ self: {
     ({ mkDerivation, base, containers, hedgehog, loc }:
      mkDerivation {
        pname = "loc-test";
-       version = "0.1.3.3";
-       sha256 = "148nc6qy4afrw707kvq7k1052pfj717apsmr2b98x8w5xcc7f567";
+       version = "0.1.3.4";
+       sha256 = "1lzmyxm34zvkdz3piwmnhd7m0ijjnlwqbpi5lgbqvbrikbw579qp";
        libraryHaskellDepends = [ base containers hedgehog loc ];
        description = "Test-related utilities related to the /loc/ package";
        license = stdenv.lib.licenses.asl20;
@@ -139725,25 +140003,25 @@ self: {
   "madlang" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, binary, Cabal, cli-setup
      , composition-prelude, containers, criterion, directory, file-embed
-     , hspec, hspec-megaparsec, http-client, http-client-tls, megaparsec
-     , MonadRandom, mtl, optparse-applicative, random-shuffle, recursion
-     , tar, template-haskell, text, th-lift-instances, titlecase
-     , zip-archive, zlib
+     , filepath, hspec, hspec-megaparsec, http-client, http-client-tls
+     , megaparsec, MonadRandom, mtl, optparse-applicative
+     , random-shuffle, recursion, tar, template-haskell, text
+     , th-lift-instances, titlecase, zip-archive, zlib
      }:
      mkDerivation {
        pname = "madlang";
-       version = "4.0.2.13";
-       sha256 = "10a7q64dm9vw2a3qzvixlg0632l5h8j6xj9ga3w430fxch618f26";
+       version = "4.0.2.14";
+       sha256 = "1fpqs3cyb0iwld53gljkzsz7xhwamkd4g2irk7j3z6pxvn36bhin";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup ];
        libraryHaskellDepends = [
          ansi-wl-pprint base binary composition-prelude containers directory
-         file-embed megaparsec MonadRandom mtl random-shuffle recursion
-         template-haskell text th-lift-instances titlecase
+         file-embed filepath megaparsec MonadRandom mtl random-shuffle
+         recursion template-haskell text th-lift-instances titlecase
        ];
        executableHaskellDepends = [
-         base directory http-client http-client-tls megaparsec
+         base directory filepath http-client http-client-tls megaparsec
          optparse-applicative tar text zip-archive zlib
        ];
        testHaskellDepends = [ base hspec hspec-megaparsec text ];
@@ -141300,27 +141578,6 @@ self: {
      }:
      mkDerivation {
        pname = "massiv";
-       version = "0.2.3.0";
-       sha256 = "1wrfzlika7w82nxmmj192cbrhm769yhmichk1lpylldzvv9j0wl5";
-       libraryHaskellDepends = [
-         base bytestring data-default-class deepseq ghc-prim primitive
-         vector
-       ];
-       testHaskellDepends = [
-         base bytestring data-default deepseq hspec QuickCheck
-         safe-exceptions vector
-       ];
-       description = "Massiv (Массив) is an Array Library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "massiv_0_2_4_0" = callPackage
-    ({ mkDerivation, base, bytestring, data-default, data-default-class
-     , deepseq, ghc-prim, hspec, primitive, QuickCheck, safe-exceptions
-     , vector
-     }:
-     mkDerivation {
-       pname = "massiv";
        version = "0.2.4.0";
        sha256 = "1zk8jkd4rng80spwha6xcmvszwjx2h8gd5xfa39zncdikd94l2hk";
        libraryHaskellDepends = [
@@ -141333,7 +141590,6 @@ self: {
        ];
        description = "Massiv (Массив) is an Array Library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "massiv-io" = callPackage
@@ -143128,10 +143384,8 @@ self: {
      }:
      mkDerivation {
        pname = "merkle-tree";
-       version = "0.1.0";
-       sha256 = "0k9ifkl8ywp0svn83rlczrq2s1aamwri2vx25cs42f64bgxr7ics";
-       revision = "1";
-       editedCabalFile = "1ibsr79qmzykn2i7p8zvzp8v79lsr54gc3zdqmfgk2cjx1x8k6dz";
+       version = "0.1.1";
+       sha256 = "1am2bfyzdhr2skvjwrvgkk7ihnili0z0lyigpy5lndrhc93n4ni1";
        libraryHaskellDepends = [
          base bytestring cereal cryptonite memory protolude random
        ];
@@ -143139,7 +143393,7 @@ self: {
          base bytestring cereal cryptonite memory protolude QuickCheck
          random tasty tasty-quickcheck
        ];
-       description = "An implementation of a Merkle Tree and merkle tree proofs";
+       description = "An implementation of a Merkle tree and merkle tree proofs of inclusion";
        license = stdenv.lib.licenses.asl20;
      }) {};
 
@@ -143288,6 +143542,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "metamorphisms: ana . cata or understanding folds and unfolds";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "metaplug" = callPackage
@@ -144322,6 +144577,7 @@ self: {
        ];
        description = "MIME implementation for String's";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mime-types" = callPackage
@@ -144366,6 +144622,7 @@ self: {
        executableHaskellDepends = [ base directory mtl random ];
        description = "Minesweeper simulation using neural networks";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "minesweeper" = callPackage
@@ -144448,6 +144705,7 @@ self: {
        ];
        description = "Minimal ini like configuration library with a few extras";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "minimorph" = callPackage
@@ -146858,8 +147116,8 @@ self: {
     ({ mkDerivation, base, monad-control, mtl, transformers-base }:
      mkDerivation {
        pname = "monadoid";
-       version = "0.0.2";
-       sha256 = "0xy89vhndmsrg0cz93ril79zrffb6fnj75vd3ivfrnsn0kxykhi6";
+       version = "0.0.3";
+       sha256 = "073ma6429m92z1pdglxvb02d6f17wdnh90mnscrjwdvzb406w0cy";
        libraryHaskellDepends = [
          base monad-control mtl transformers-base
        ];
@@ -147342,16 +147600,16 @@ self: {
      }) {};
 
   "monopati" = callPackage
-    ({ mkDerivation, base, directory, free, hedgehog, split
+    ({ mkDerivation, base, directory, free, hedgehog, peano, split
      , transformers
      }:
      mkDerivation {
        pname = "monopati";
-       version = "0.1.3";
-       sha256 = "1g7n1m6df2c9rl99fii7x4a7z3xwv2mcvxd96gg1maji9709chqb";
-       libraryHaskellDepends = [ base directory free split ];
+       version = "0.1.4";
+       sha256 = "159r99x00vylxb50hyrb8xd67ag4x1mmrfddj5bq31bxiwb6j47s";
+       libraryHaskellDepends = [ base directory free peano split ];
        testHaskellDepends = [
-         base directory free hedgehog split transformers
+         base directory free hedgehog peano split transformers
        ];
        description = "Well-typed paths";
        license = stdenv.lib.licenses.bsd3;
@@ -148780,15 +149038,15 @@ self: {
 
   "multilinear" = callPackage
     ({ mkDerivation, base, containers, criterion, deepseq
-     , generic-random, mwc-random, primitive, QuickCheck
-     , quickcheck-instances, statistics, vector, weigh
+     , generic-random, parallel, QuickCheck, quickcheck-instances
+     , vector, weigh
      }:
      mkDerivation {
        pname = "multilinear";
-       version = "0.3.2.0";
-       sha256 = "0wjl4lzigbb7js99dd3i5kl081qqmrvk1w3kkjw7brasj8sqp01h";
+       version = "0.5.0.0";
+       sha256 = "03j34gcacd5va2ldd1hmchnfrymsh0l60kp2m4q39gfgzpicm62g";
        libraryHaskellDepends = [
-         base containers deepseq mwc-random primitive statistics vector
+         base containers deepseq parallel vector
        ];
        testHaskellDepends = [
          base containers deepseq generic-random QuickCheck
@@ -148806,8 +149064,8 @@ self: {
      }:
      mkDerivation {
        pname = "multilinear-io";
-       version = "0.3.0.0";
-       sha256 = "0228jy5qhydxliww13mxs7j287pcg43cnmgqrw0yb3ckghz0nf8w";
+       version = "0.5.0.0";
+       sha256 = "1lvizs4lbjy8ki9v5ikmc23fmxkk9w5d3nh4v0iljwyz5cgds05c";
        libraryHaskellDepends = [
          aeson base bytestring cassava cereal cereal-vector conduit either
          multilinear transformers vector zlib
@@ -148818,7 +149076,7 @@ self: {
        benchmarkHaskellDepends = [
          base criterion deepseq directory either multilinear transformers
        ];
-       description = "Input/output capability for multilinear package";
+       description = "Conduit-based input/output capability for multilinear package";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -148992,6 +149250,7 @@ self: {
        ];
        description = "Read and write appropriately from both master and replicated postgresql instances";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "multirec" = callPackage
@@ -150111,21 +150370,6 @@ self: {
      }:
      mkDerivation {
        pname = "mysql";
-       version = "0.1.5";
-       sha256 = "0x9hdwg94s0baw7jn7ba2mk0rr7qpf1hyf88pm6gv4vdgz86gcs9";
-       setupHaskellDepends = [ base Cabal ];
-       libraryHaskellDepends = [ base bytestring containers ];
-       librarySystemDepends = [ mysql ];
-       testHaskellDepends = [ base bytestring hspec ];
-       description = "A low-level MySQL client library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) mysql;};
-
-  "mysql_0_1_6" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, hspec, mysql
-     }:
-     mkDerivation {
-       pname = "mysql";
        version = "0.1.6";
        sha256 = "1vlr4z3ng8sibb7g8363xlhff3811z8b5nmm0ljai6r5r5hrym4y";
        setupHaskellDepends = [ base Cabal ];
@@ -150134,7 +150378,6 @@ self: {
        testHaskellDepends = [ base bytestring hspec ];
        description = "A low-level MySQL client library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) mysql;};
 
   "mysql-effect" = callPackage
@@ -150368,6 +150611,7 @@ self: {
        executableHaskellDepends = [ base HSH mtl process ];
        description = "Utility to call iwconfig";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "n-tuple" = callPackage
@@ -150571,8 +150815,8 @@ self: {
        pname = "named";
        version = "0.2.0.0";
        sha256 = "17ldvxypf099wj5phzh2aymzfwmyiyzhz24h1aj2s21nrys5n6n0";
-       revision = "1";
-       editedCabalFile = "0rnzxqlpxsfyvmc2i53iqspw03w2liflpy0zrc84pn6kw4v822j3";
+       revision = "2";
+       editedCabalFile = "0h9d74h6g685g1g0ylqf7kws1ancdy3q6fi39vinf5alkqa7kxwd";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Named parameters (keyword arguments) for Haskell";
@@ -150858,6 +151102,7 @@ self: {
        ];
        description = "Simple interface to rendering with NanoVG";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nanq" = callPackage
@@ -152549,6 +152794,7 @@ self: {
        ];
        description = "Send metrics to Ganglia, Graphite, and statsd";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-minihttp" = callPackage
@@ -152580,6 +152826,7 @@ self: {
        libraryHaskellDepends = [ base binary bytestring network unix ];
        description = "Recvmsg and sendmsg bindings";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-msgpack-rpc" = callPackage
@@ -153381,8 +153628,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export";
-       version = "1.6.0";
-       sha256 = "0svl195w8prf45g0pda1j6hngxpb18vdpc15cybxrzp2x689dxll";
+       version = "1.6.1";
+       sha256 = "1nzhfarz42b6arqndynp4zp4sq87g8ya9xh3zpyhsw8a3wz5idr0";
        libraryHaskellDepends = [
          async base binary bytestring deepseq monad-loops template-haskell
          unix
@@ -153397,8 +153644,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools";
-       version = "0.3.0.0";
-       sha256 = "0dnkw5vvvdkcqqga9i4pvclvr3bh6wywdg0r60l8vwdcpi820dkl";
+       version = "0.3.1.0";
+       sha256 = "1rdlyznj61a392n6m8p7g2g96alxcmcrw9n6izrdb0lkw21cls89";
        libraryHaskellDepends = [
          aeson base binary bytestring ngx-export safe template-haskell
        ];
@@ -153878,8 +154125,8 @@ self: {
     ({ mkDerivation, base, containers, megaparsec, Nmis }:
      mkDerivation {
        pname = "nmis-parser";
-       version = "0.1.0.1";
-       sha256 = "0fgh0x2b468j3pxx5nqkvq1wavgap9q7hdnypmdqn5v5jp45l36z";
+       version = "0.1.0.2";
+       sha256 = "0ad30rdpsd80ysqsaa72m3nnwzslr666ssnwlxyhvmbn3aqqvfbb";
        libraryHaskellDepends = [ base containers megaparsec ];
        testHaskellDepends = [ base Nmis ];
        description = "NMIS file parser";
@@ -154209,6 +154456,7 @@ self: {
        testHaskellDepends = [ base doctest Glob hspec QuickCheck text ];
        description = "Non empty Data.Text type";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "non-empty-zipper" = callPackage
@@ -154457,6 +154705,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Useful utility functions that only depend on base";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "notcpp" = callPackage
@@ -155499,6 +155748,7 @@ self: {
        ];
        description = "OAuth2 jwt-bearer client flow as per rfc7523";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "oauthenticated" = callPackage
@@ -156552,6 +156802,40 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "open-adt" = callPackage
+    ({ mkDerivation, base, constraints, recursion-schemes, row-types
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "open-adt";
+       version = "1.0";
+       sha256 = "1v9gb06cifykapx2kjbi8kmkbvs625ydciv7g77ngnmaijzfsm4a";
+       libraryHaskellDepends = [
+         base constraints recursion-schemes row-types template-haskell
+       ];
+       description = "Open algebraic data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "open-adt-tutorial" = callPackage
+    ({ mkDerivation, base, constraints, deriving-compat, open-adt
+     , recursion-schemes, row-types, template-haskell
+     }:
+     mkDerivation {
+       pname = "open-adt-tutorial";
+       version = "1.0";
+       sha256 = "19sgj0k0axlv15jlr945hh4j6wq8aqhafmj5m7njd5qp7yrbw66w";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base constraints deriving-compat open-adt recursion-schemes
+         row-types template-haskell
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Open algebraic data type examples";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "open-browser" = callPackage
     ({ mkDerivation, base, process }:
      mkDerivation {
@@ -156675,6 +156959,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "openapi-petstore" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , case-insensitive, containers, deepseq, exceptions, hspec
+     , http-api-data, http-client, http-client-tls, http-media
+     , http-types, iso8601-time, katip, microlens, mtl, network
+     , QuickCheck, random, safe-exceptions, semigroups, text, time
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "openapi-petstore";
+       version = "0.0.3.0";
+       sha256 = "1zm76djxnr2hrws3rhby144m2hqgwfk57cm3my2r26py76lf8c5i";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring case-insensitive containers
+         deepseq exceptions http-api-data http-client http-client-tls
+         http-media http-types iso8601-time katip microlens mtl network
+         random safe-exceptions text time transformers unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers hspec iso8601-time mtl QuickCheck
+         semigroups text time transformers unordered-containers vector
+       ];
+       description = "Auto-generated openapi-petstore API Client";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "opench-meteo" = callPackage
     ({ mkDerivation, aeson, base, data-default, text, time }:
      mkDerivation {
@@ -158776,6 +159088,33 @@ self: {
        libraryHaskellDepends = [ base text ];
        description = "Colorization of text for command-line output";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pairing" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, cryptonite, memory
+     , protolude, QuickCheck, random, tasty, tasty-discover, tasty-hunit
+     , tasty-quickcheck, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "pairing";
+       version = "0.1.1";
+       sha256 = "15230s384z6hg29fc9l06qsk0657c1z00x0pijgxr9w8lbis56qg";
+       libraryHaskellDepends = [
+         base bytestring cryptonite memory protolude QuickCheck random
+         wl-pprint-text
+       ];
+       testHaskellDepends = [
+         base bytestring cryptonite memory protolude QuickCheck random tasty
+         tasty-discover tasty-hunit tasty-quickcheck wl-pprint-text
+       ];
+       testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion cryptonite memory protolude QuickCheck
+         random tasty tasty-hunit tasty-quickcheck wl-pprint-text
+       ];
+       description = "Optimal ate pairing over Barreto-Naehrig curves";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "palette" = callPackage
@@ -158884,12 +159223,16 @@ self: {
          base bytestring containers criterion mtl text time weigh
        ];
        doCheck = false;
+       postInstall = ''
+         mkdir -p $out/share
+         mv $data/*/*/man $out/share/
+       '';
        description = "Conversion between markup formats";
        license = stdenv.lib.licenses.gpl2;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
-  "pandoc_2_4" = callPackage
+  "pandoc_2_5" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
      , binary, blaze-html, blaze-markup, bytestring, Cabal
      , case-insensitive, cmark-gfm, containers, criterion, data-default
@@ -158905,8 +159248,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.4";
-       sha256 = "1kf1v7zfifh5i1hw5bwdbd78ncp946kx1s501c077vwzdzvcz2ck";
+       version = "2.5";
+       sha256 = "0bi26r2qljdfxq26gaxj1xnhrawrfndfavs3f3g098x0g3dwazfm";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -158932,7 +159275,10 @@ self: {
        benchmarkHaskellDepends = [
          base bytestring containers criterion mtl text time weigh
        ];
-       doCheck = false;
+       postInstall = ''
+         mkdir -p $out/share
+         mv $data/*/*/man $out/share/
+       '';
        description = "Conversion between markup formats";
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -158973,7 +159319,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-citeproc_0_15" = callPackage
+  "pandoc-citeproc_0_15_0_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
      , mtl, old-locale, pandoc, pandoc-types, parsec, process, rfc5051
@@ -158982,8 +159328,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.15";
-       sha256 = "0pj2q15q8vak70cdrfxk53nzlsv6zi5pi67nlrkn5kks3srvw2r7";
+       version = "0.15.0.1";
+       sha256 = "1y4jmralmcikmk75cf5bjlv4ymr42x35a6174ybqa99jmlm5znr9";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -159033,8 +159379,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.3.0";
-       sha256 = "0gnchg8z07g95wrsj9ywd308gy3h6ihrg7p50rw1dsszrdbfldiw";
+       version = "0.3.4.0";
+       sha256 = "15vfqpfkw4wnsg98804l5ylqbc926s2j5z4ik5zhval4d3kiamgz";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -160352,6 +160698,7 @@ self: {
        ];
        description = "Parsec combinators for parsing Haskell numeric types";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "parsec-parsers" = callPackage
@@ -160763,8 +161110,8 @@ self: {
     ({ mkDerivation, base, doctest, hedgehog }:
      mkDerivation {
        pname = "partial-semigroup";
-       version = "0.4.0.1";
-       sha256 = "0jfdybqxqrkxwbvscgy6q6vp32jp5h9xbyfykxbvsc64h02kn6gs";
+       version = "0.5.0.0";
+       sha256 = "03wfizykalpnv2i2qmj2vm27ajs1s8kmzy7ynsh8b2l43nafixqm";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest hedgehog ];
        description = "A partial binary associative operator";
@@ -160776,8 +161123,8 @@ self: {
     ({ mkDerivation, base, hedgehog, partial-semigroup }:
      mkDerivation {
        pname = "partial-semigroup-hedgehog";
-       version = "0.4.0.1";
-       sha256 = "1nvfy1cwp7qv77bm0ax3ll7jmqciasq9gsyyrghsx18y1q2d8qzp";
+       version = "0.5.0.0";
+       sha256 = "17j27i0b971abz2j51a9nr599bqnwb65d2p1445a5s62hcz2jdzl";
        libraryHaskellDepends = [ base hedgehog partial-semigroup ];
        description = "Property testing for partial semigroups using Hedgehog";
        license = stdenv.lib.licenses.asl20;
@@ -160806,6 +161153,7 @@ self: {
        libraryHaskellDepends = [ base network-uri ];
        description = "Datatype for passing around unresolved URIs";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "partly" = callPackage
@@ -161134,8 +161482,8 @@ self: {
     ({ mkDerivation, base, bytestring, path, safe-exceptions, text }:
      mkDerivation {
        pname = "path-text-utf8";
-       version = "0.0.1.1";
-       sha256 = "0c572nkkanz9n862q87q5jfpmg17v6flhl4201i67r7fp5icihwr";
+       version = "0.0.1.2";
+       sha256 = "1z8wyjsr7mgl120ayfl520i6p6s961380b1xy63zl7qp4cnnbhpn";
        libraryHaskellDepends = [
          base bytestring path safe-exceptions text
        ];
@@ -161223,7 +161571,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "patience" = callPackage
+  "patience_0_1_1" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "patience";
@@ -161234,6 +161582,18 @@ self: {
        libraryHaskellDepends = [ base containers ];
        description = "Patience diff and longest increasing subsequence";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "patience" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "patience";
+       version = "0.2.0.0";
+       sha256 = "0jkw6ip6fvmxpjzsfxwx7jbh58asrsq5wnc9i5jq4cv3pgql8a0j";
+       libraryHaskellDepends = [ base containers ];
+       description = "Patience diff and longest increasing subsequence";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "patronscraper" = callPackage
@@ -161270,6 +161630,8 @@ self: {
        pname = "pattern-trie";
        version = "0.1.0";
        sha256 = "1ldy1b81sryngf4rlfsw3f2qw0cirjnbvddvw98wrl2m50wzdmlg";
+       revision = "1";
+       editedCabalFile = "1v9f28gpns5v646hdzn7xfimq2v0sx3rws56r7lfh1qgcfdavy9f";
        libraryHaskellDepends = [
          base bytestring containers deepseq hashable text
          unordered-containers
@@ -161911,6 +162273,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Peano numbers";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "peano-inf" = callPackage
@@ -164149,19 +164512,6 @@ self: {
     ({ mkDerivation, base, containers, random, rdtsc, transformers }:
      mkDerivation {
        pname = "picosat";
-       version = "0.1.4";
-       sha256 = "0fch3s2q5g5sif6xqd69v0kbf41061vdviifr6l9aym70jp9yvas";
-       libraryHaskellDepends = [ base containers transformers ];
-       testHaskellDepends = [ base containers random rdtsc transformers ];
-       description = "Bindings to the PicoSAT solver";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "picosat_0_1_5" = callPackage
-    ({ mkDerivation, base, containers, random, rdtsc, transformers }:
-     mkDerivation {
-       pname = "picosat";
        version = "0.1.5";
        sha256 = "0wc6zd1llyb880xvb8712b8mcil3arxnci68q2gmjb0gxa40jj6y";
        libraryHaskellDepends = [ base containers transformers ];
@@ -164250,6 +164600,7 @@ self: {
        ];
        description = "A library for writing forwards-declared build systems in haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "piet" = callPackage
@@ -164305,8 +164656,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.9.12.10";
-       sha256 = "0jdhckdlpmgqrp8xy7m285w7kclg8dpl02szl6fd6iwzs8l8vjds";
+       version = "0.9.12.11";
+       sha256 = "12vj9lg7l2nb92j9mydsa8hcy0ql71qnphfhgdm30xrsps79vwd0";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-client-tls
          http-types monad-logger mtl network profunctors random
@@ -164321,26 +164672,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "pinboard_0_9_12_11" = callPackage
+  "pinboard_0_10_0_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hspec
      , http-client, http-client-tls, http-types, monad-logger, mtl
-     , network, profunctors, QuickCheck, random, safe-exceptions
-     , semigroups, text, time, transformers, unordered-containers
+     , network, profunctors, QuickCheck, random, semigroups, text, time
+     , transformers, unliftio, unliftio-core, unordered-containers
      , vector
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.9.12.11";
-       sha256 = "12vj9lg7l2nb92j9mydsa8hcy0ql71qnphfhgdm30xrsps79vwd0";
+       version = "0.10.0.2";
+       sha256 = "0yi9xnvy153mrb6ypjx7pnbjapdsh65bxqfp6y0s7s6f8vwzpqff";
+       revision = "1";
+       editedCabalFile = "08khbrpsk9yhd795l2zjfhsp8f0wxxwwycrkhsfkqw295zcbaqbh";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-client-tls
-         http-types monad-logger mtl network profunctors random
-         safe-exceptions text time transformers unordered-containers vector
+         http-types monad-logger mtl network profunctors random text time
+         transformers unliftio unliftio-core unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base bytestring containers hspec mtl QuickCheck
-         safe-exceptions semigroups text time transformers
-         unordered-containers
+         aeson base bytestring containers hspec mtl QuickCheck semigroups
+         text time transformers unliftio unliftio-core unordered-containers
        ];
        description = "Access to the Pinboard API";
        license = stdenv.lib.licenses.mit;
@@ -165773,6 +166125,7 @@ self: {
        libraryHaskellDepends = [ base containers ];
        description = "Implementation of the PKTree spatial index data structure";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "placeholders" = callPackage
@@ -166624,6 +166977,7 @@ self: {
        ];
        description = "Tool for refactoring expressions into pointfree form";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pointfree-fancy" = callPackage
@@ -166746,6 +167100,7 @@ self: {
        librarySystemDepends = [ poker-eval ];
        description = "Binding to libpoker-eval";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {poker-eval = null;};
 
   "pokitdok" = callPackage
@@ -167440,6 +167795,7 @@ self: {
        librarySystemDepends = [ portaudio ];
        description = "Haskell bindings for the PortAudio library";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) portaudio;};
 
   "porte" = callPackage
@@ -167493,6 +167849,7 @@ self: {
        libraryHaskellDepends = [ base directory process ];
        description = "Library to interact with port tools on FreeBSD";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "positive" = callPackage
@@ -167571,6 +167928,7 @@ self: {
        libraryHaskellDepends = [ base transformers unix ];
        description = "Nice wrapper around POSIX fcntl advisory locks";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "posix-paths" = callPackage
@@ -167771,8 +168129,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-binary";
-       version = "0.12.1.1";
-       sha256 = "181npyfnz9xbmwjfzcrmbwlzw2xchy2fsibiw6d3c01y45xv607v";
+       version = "0.12.1.2";
+       sha256 = "10h5299fxqmfz0kxyvivfy396q35gzg60spnjagyha33kx5m3bc3";
        libraryHaskellDepends = [
          aeson base base-prelude binary-parser bytestring
          bytestring-strict-builder containers loch-th network-ip
@@ -168083,29 +168441,6 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-simple-migration";
-       version = "0.1.12.0";
-       sha256 = "18sx8ila7w7k4ym4rs36dc48v0cdl3b4il5jfqyfcx34n3mb5y4q";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base base64-bytestring bytestring cryptohash directory
-         postgresql-simple time
-       ];
-       executableHaskellDepends = [
-         base base64-bytestring bytestring cryptohash directory
-         postgresql-simple text time
-       ];
-       testHaskellDepends = [ base bytestring hspec postgresql-simple ];
-       description = "PostgreSQL Schema Migrations";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "postgresql-simple-migration_0_1_13_0" = callPackage
-    ({ mkDerivation, base, base64-bytestring, bytestring, cryptohash
-     , directory, hspec, postgresql-simple, text, time
-     }:
-     mkDerivation {
-       pname = "postgresql-simple-migration";
        version = "0.1.13.0";
        sha256 = "0rpcl6s1hwb5z0lkcrahh6ljx5zcb0aq8mrk691hfwazlhbv01zk";
        isLibrary = true;
@@ -168121,7 +168456,6 @@ self: {
        testHaskellDepends = [ base bytestring hspec postgresql-simple ];
        description = "PostgreSQL Schema Migrations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "postgresql-simple-opts" = callPackage
@@ -171452,14 +171786,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "proto-lens-arbitrary_0_1_2_4" = callPackage
+  "proto-lens-arbitrary_0_1_2_5" = callPackage
     ({ mkDerivation, base, bytestring, containers, lens-family
      , proto-lens, QuickCheck, text
      }:
      mkDerivation {
        pname = "proto-lens-arbitrary";
-       version = "0.1.2.4";
-       sha256 = "0d17vkcv21qphs44ig5fdcvisxn20980m0lx693w52ikzsax5k4s";
+       version = "0.1.2.5";
+       sha256 = "13cd9r9r2g913p3d3m7ljgv97wsdlr0v6js1r7k2w6npclgj13hd";
        libraryHaskellDepends = [
          base bytestring containers lens-family proto-lens QuickCheck text
        ];
@@ -171791,6 +172125,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "protocol-buffers_2_4_12" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, binary
+     , bytestring, containers, directory, filepath, mtl, parsec, syb
+     , text, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "protocol-buffers";
+       version = "2.4.12";
+       sha256 = "0z1vkqdhj41bqnjhks4d82jby6l9j91k8ycna76bhv9p2w0gvp4g";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring binary bytestring containers
+         directory filepath mtl parsec syb text utf8-string vector
+       ];
+       description = "Parse Google Protocol Buffer specifications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protocol-buffers-descriptor" = callPackage
     ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
      mkDerivation {
@@ -171805,6 +172157,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "protocol-buffers-descriptor_2_4_12" = callPackage
+    ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
+     mkDerivation {
+       pname = "protocol-buffers-descriptor";
+       version = "2.4.12";
+       sha256 = "0h4c1pgl51h7xrsm76mz6wd1l41ps93y3nvdl0p7mks9w7wlpccn";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring containers protocol-buffers
+       ];
+       description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protocol-buffers-descriptor-fork" = callPackage
     ({ mkDerivation, base, bytestring, containers
      , protocol-buffers-fork
@@ -172057,8 +172424,8 @@ self: {
      }:
      mkDerivation {
        pname = "pseudo-boolean";
-       version = "0.1.7.0";
-       sha256 = "0y470jrqmc2k9j3zf2w2krjg3ial08v71bcq6zxh1g47iz4kszr7";
+       version = "0.1.8.0";
+       sha256 = "0na3kx4zxjmznfhw9121w8963vm2qppij5i93j4lvd3sflpwry9b";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder containers deepseq
          dlist hashable megaparsec parsec void
@@ -172675,56 +173042,59 @@ self: {
   "purescript" = callPackage
     ({ mkDerivation, aeson, aeson-better-errors, ansi-terminal
      , ansi-wl-pprint, base, base-compat, blaze-html, bower-json, boxes
-     , bytestring, cheapskate, clock, containers, data-ordlist, deepseq
-     , directory, dlist, edit-distance, file-embed, filepath, fsnotify
-     , gitrev, Glob, haskeline, hspec, hspec-discover, http-types, HUnit
-     , language-javascript, lens, lifted-base, monad-control
-     , monad-logger, mtl, network, optparse-applicative, parallel
-     , parsec, pattern-arrows, process, protolude, regex-tdfa, safe
-     , scientific, semigroups, sourcemap, spdx, split, stm, stringsearch
-     , syb, tasty, tasty-hspec, text, time, transformers
-     , transformers-base, transformers-compat, unordered-containers
-     , utf8-string, vector, wai, wai-websockets, warp, websockets
+     , bytestring, Cabal, cheapskate, clock, containers, data-ordlist
+     , deepseq, directory, dlist, edit-distance, file-embed, filepath
+     , fsnotify, gitrev, Glob, haskeline, hspec, hspec-discover
+     , http-types, HUnit, language-javascript, lifted-base
+     , microlens-platform, monad-control, monad-logger, mtl, network
+     , optparse-applicative, parallel, parsec, pattern-arrows, process
+     , protolude, regex-tdfa, safe, scientific, semigroups, sourcemap
+     , split, stm, stringsearch, syb, tasty, tasty-hspec, text, time
+     , transformers, transformers-base, transformers-compat
+     , unordered-containers, utf8-string, vector, wai, wai-websockets
+     , warp, websockets
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.12.0";
-       sha256 = "0lkrlry4rr1l1c5ncy7wlbv1ll6n0dkw7j1gjpxn3706gan921rb";
+       version = "0.12.1";
+       sha256 = "0m1460p8kllcbbk2ppp9hcf1jbzfnlim0nnkapj4wpm8jklngaw1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-better-errors ansi-terminal base base-compat blaze-html
-         bower-json boxes bytestring cheapskate clock containers
+         bower-json boxes bytestring Cabal cheapskate clock containers
          data-ordlist deepseq directory dlist edit-distance file-embed
-         filepath fsnotify Glob haskeline language-javascript lens
-         lifted-base monad-control monad-logger mtl parallel parsec
+         filepath fsnotify Glob haskeline language-javascript lifted-base
+         microlens-platform monad-control monad-logger mtl parallel parsec
          pattern-arrows process protolude regex-tdfa safe scientific
-         semigroups sourcemap spdx split stm stringsearch syb text time
+         semigroups sourcemap split stm stringsearch syb text time
          transformers transformers-base transformers-compat
          unordered-containers utf8-string vector
        ];
        executableHaskellDepends = [
          aeson aeson-better-errors ansi-terminal ansi-wl-pprint base
-         base-compat blaze-html bower-json boxes bytestring cheapskate clock
-         containers data-ordlist deepseq directory dlist edit-distance
+         base-compat blaze-html bower-json boxes bytestring Cabal cheapskate
+         clock containers data-ordlist deepseq directory dlist edit-distance
          file-embed filepath fsnotify gitrev Glob haskeline http-types
-         language-javascript lens lifted-base monad-control monad-logger mtl
-         network optparse-applicative parallel parsec pattern-arrows process
-         protolude regex-tdfa safe scientific semigroups sourcemap spdx
-         split stm stringsearch syb text time transformers transformers-base
-         transformers-compat unordered-containers utf8-string vector wai
-         wai-websockets warp websockets
+         language-javascript lifted-base microlens-platform monad-control
+         monad-logger mtl network optparse-applicative parallel parsec
+         pattern-arrows process protolude regex-tdfa safe scientific
+         semigroups sourcemap split stm stringsearch syb text time
+         transformers transformers-base transformers-compat
+         unordered-containers utf8-string vector wai wai-websockets warp
+         websockets
        ];
        testHaskellDepends = [
          aeson aeson-better-errors ansi-terminal base base-compat blaze-html
-         bower-json boxes bytestring cheapskate clock containers
+         bower-json boxes bytestring Cabal cheapskate clock containers
          data-ordlist deepseq directory dlist edit-distance file-embed
          filepath fsnotify Glob haskeline hspec hspec-discover HUnit
-         language-javascript lens lifted-base monad-control monad-logger mtl
-         parallel parsec pattern-arrows process protolude regex-tdfa safe
-         scientific semigroups sourcemap spdx split stm stringsearch syb
-         tasty tasty-hspec text time transformers transformers-base
-         transformers-compat unordered-containers utf8-string vector
+         language-javascript lifted-base microlens-platform monad-control
+         monad-logger mtl parallel parsec pattern-arrows process protolude
+         regex-tdfa safe scientific semigroups sourcemap split stm
+         stringsearch syb tasty tasty-hspec text time transformers
+         transformers-base transformers-compat unordered-containers
+         utf8-string vector
        ];
        testToolDepends = [ hspec-discover ];
        doCheck = false;
@@ -173448,8 +173818,8 @@ self: {
      }:
      mkDerivation {
        pname = "qnap-decrypt";
-       version = "0.3.2";
-       sha256 = "1qq1cpnn7bg3nb3ig86wcc6xvjyljckjd1bgivh1sfhxh8p0p4ys";
+       version = "0.3.3";
+       sha256 = "0gwnpyzyrfw6i8a5arm8q6psjhwa8kl8n94wcglsnl59k1iadfb6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -173709,6 +174079,8 @@ self: {
        pname = "quantification";
        version = "0.5.0";
        sha256 = "0ls8rhy0idrgj9dnd5ajjfi55bhz4qsyncj3ghw3nyrbr0q7j0bk";
+       revision = "1";
+       editedCabalFile = "0fn5ixppdyw4niyyf9iasvrbnaimjhwwi7di4l13bfylnmriliw9";
        libraryHaskellDepends = [
          aeson base binary containers ghc-prim hashable path-pieces text
          unordered-containers vector
@@ -175230,8 +175602,8 @@ self: {
     ({ mkDerivation, base, criterion, deepseq, hspec }:
      mkDerivation {
        pname = "ralist";
-       version = "0.2.1.0";
-       sha256 = "19fnjza5gk02vdl4yvg453h44x41y19c81ldd7h60h82mkhsvc43";
+       version = "0.2.1.1";
+       sha256 = "0fy8c36ygdn609nq6wasc685y3z7g188nkhym7bpb7rigi1si7xj";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion deepseq ];
@@ -176100,8 +176472,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "1.0.6";
-       sha256 = "0bqgkijadr3zhmnq787k6bkqg96di3fbrb3ywlypns624mhwcw37";
+       version = "1.0.7";
+       sha256 = "1kp6f45wn3a7wnsvj08a3b0kp5wwprw4rjrrqqd22yr9mpwx2z7w";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-client-tls http-types text uuid
@@ -179037,8 +179409,8 @@ self: {
      }:
      mkDerivation {
        pname = "registry";
-       version = "0.1.1.0";
-       sha256 = "0in2kb12848g4ggph2m2h2csc3j0jg9572vi25pdlvr5xrlvxm0m";
+       version = "0.1.1.2";
+       sha256 = "0shcp8capsxs8avaslfj6f0zmqxishmiymy848igfsfdi7m4apl4";
        libraryHaskellDepends = [
          base exceptions protolude resourcet text transformers-base
        ];
@@ -181643,6 +182015,7 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion semigroups ];
        description = "A Haskell client for the Riak decentralized data store";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "riak-protobuf" = callPackage
@@ -181658,6 +182031,7 @@ self: {
        ];
        description = "Haskell types for the Riak protocol buffer API";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "riak-protobuf-lens" = callPackage
@@ -181679,6 +182053,7 @@ self: {
        ];
        description = "Lenses for riak-protobuf";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "richreports" = callPackage
@@ -182370,6 +182745,7 @@ self: {
        ];
        description = "Sci-fi roguelike game. Client application.";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "roguestar-engine" = callPackage
@@ -183196,6 +183572,7 @@ self: {
        testHaskellDepends = [ base QuickCheck safe ];
        description = "Range set";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rspp" = callPackage
@@ -183355,6 +183732,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "dynamic linker tools for Haskell";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rtlsdr" = callPackage
@@ -184134,6 +184512,29 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "safecopy_0_9_4_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers, lens
+     , lens-action, old-time, QuickCheck, quickcheck-instances, tasty
+     , tasty-quickcheck, template-haskell, text, time, vector
+     }:
+     mkDerivation {
+       pname = "safecopy";
+       version = "0.9.4.2";
+       sha256 = "08glsr8mwxkz3hw68d6j7v285nay2a6xkyqpyc1b6wc9iw2g82r7";
+       libraryHaskellDepends = [
+         array base bytestring cereal containers old-time template-haskell
+         text time vector
+       ];
+       testHaskellDepends = [
+         array base cereal containers lens lens-action QuickCheck
+         quickcheck-instances tasty tasty-quickcheck template-haskell time
+         vector
+       ];
+       description = "Binary serialization with version control";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "safecopy-migrate" = callPackage
     ({ mkDerivation, base, base-prelude, cereal, containers, extra
      , haskell-src-meta, microlens, safecopy, template-haskell
@@ -187374,6 +187775,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Representation, manipulation, and de/serialisation of Semantic Versions";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "semver-range" = callPackage
@@ -188645,6 +189047,7 @@ self: {
        ];
        description = "Servant Stream support for conduit";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-csharp" = callPackage
@@ -189247,6 +189650,7 @@ self: {
        ];
        description = "Servant Stream support for machines";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-match" = callPackage
@@ -189368,6 +189772,7 @@ self: {
        ];
        description = "multipart/form-data (e.g file upload) support for servant";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-named" = callPackage
@@ -189477,6 +189882,7 @@ self: {
        ];
        description = "Servant Stream support for pipes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "servant-pool" = callPackage
@@ -189918,8 +190324,8 @@ self: {
        pname = "servant-streaming";
        version = "0.3.0.0";
        sha256 = "0k2sgh7qhp54050k6xlz4zi5jf29xnar2iv02f4rg1k5fxjlh3cq";
-       revision = "1";
-       editedCabalFile = "1a9lg7cxbkj658hc76r5yk104q0hm3q9mkjzk17dwkwlnvdfq6m2";
+       revision = "2";
+       editedCabalFile = "0v435r9kzhn9jcws3kibxgr46ii6kbdniqk56qmx6hzfmkwvgwgk";
        libraryHaskellDepends = [ base http-types servant ];
        testHaskellDepends = [ base hspec http-types QuickCheck servant ];
        description = "Servant combinators for the 'streaming' package";
@@ -190425,26 +190831,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "serverless-haskell_0_8_3" = callPackage
+  "serverless-haskell_0_8_4" = callPackage
     ({ mkDerivation, aeson, aeson-casing, aeson-extra, amazonka-core
      , amazonka-kinesis, amazonka-s3, base, bytestring, case-insensitive
-     , hspec, hspec-discover, http-types, iproute, lens, raw-strings-qq
-     , text, time, unix, unordered-containers
+     , hspec, hspec-discover, http-types, iproute, lens, network
+     , network-simple, raw-strings-qq, text, time, unix
+     , unordered-containers
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.8.3";
-       sha256 = "1d24qbl4d2sri9k67rgnivzw8wg5sxrdh2sh29m4wxvcas44a784";
+       version = "0.8.4";
+       sha256 = "0hbva555n2xypq7sby6frkrwhn6xxx1hdq7hgdi07cx60vs8b6l4";
        libraryHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive http-types iproute
-         lens text time unix unordered-containers
+         lens network network-simple text time unix unordered-containers
        ];
        testHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive hspec hspec-discover
-         http-types iproute lens raw-strings-qq text time unix
-         unordered-containers
+         http-types iproute lens network network-simple raw-strings-qq text
+         time unix unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
        description = "Deploying Haskell code onto AWS Lambda using Serverless";
@@ -191092,6 +191499,7 @@ self: {
        librarySystemDepends = [ libsndfile openal ];
        description = "minimal bindings to the audio module of sfml";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libsndfile; inherit (pkgs) openal;};
 
   "sfmt" = callPackage
@@ -191535,6 +191943,7 @@ self: {
        libraryHaskellDepends = [ base path path-io shake ];
        description = "path alternatives to shake functions";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shake-persist" = callPackage
@@ -191606,31 +192015,6 @@ self: {
      }:
      mkDerivation {
        pname = "shakespeare";
-       version = "2.0.19";
-       sha256 = "0h1nmdpizw4bvpkxlnrwq02r3wnk01z4jqid12hp30bi577yqd5l";
-       libraryHaskellDepends = [
-         aeson base blaze-html blaze-markup bytestring containers directory
-         exceptions ghc-prim parsec process scientific template-haskell text
-         time transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base blaze-html blaze-markup bytestring containers directory
-         exceptions ghc-prim hspec HUnit parsec process template-haskell
-         text time transformers
-       ];
-       description = "A toolkit for making compile-time interpolated templates";
-       license = stdenv.lib.licenses.mit;
-       maintainers = with stdenv.lib.maintainers; [ psibi ];
-     }) {};
-
-  "shakespeare_2_0_20" = callPackage
-    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
-     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
-     , process, scientific, template-haskell, text, time, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "shakespeare";
        version = "2.0.20";
        sha256 = "00wybn9dcwi2y1cp87fyvhcqn8filvb8as7k78g1m1c5wpwby3pm";
        libraryHaskellDepends = [
@@ -191645,7 +192029,6 @@ self: {
        ];
        description = "A toolkit for making compile-time interpolated templates";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
@@ -192214,6 +192597,8 @@ self: {
        pname = "shh";
        version = "0.1.0.0";
        sha256 = "0ixvfwrz1bsj1c2ln7fhvf6wawf75nzqfb784xgral33hmflm518";
+       revision = "1";
+       editedCabalFile = "10h2hz3fda9zg6zpkmmjjfxjghs7g0cj3r85vifp0za9ap41ph3k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -193172,8 +193557,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "simple-get-opt";
-       version = "0.1.0.0";
-       sha256 = "1hia6kjx3nnv6i5wrkmvj6vz52pw12fwsz48gkz7049ygpa5jnl5";
+       version = "0.2.0";
+       sha256 = "1xx751j2vszqr8x9nf4f56aj5b6v0j8qdf90pd1xdasrfc67af9c";
        libraryHaskellDepends = [ base ];
        description = "A simple library for processing command-line options";
        license = stdenv.lib.licenses.bsd3;
@@ -194745,8 +195130,8 @@ self: {
      }:
      mkDerivation {
        pname = "slick";
-       version = "0.1.1.0";
-       sha256 = "0gqc9z8w9m1dvsnv7g1rsi367akkzp95w96lvx20sdg1gnzbx5rc";
+       version = "0.2.0.0";
+       sha256 = "0pxbrqykf11nrdc6zyjxvfc57dfajp5nm4qpqyk26l2jh1gaklz7";
        libraryHaskellDepends = [
          aeson base binary bytestring containers lens lens-aeson mustache
          pandoc shake text time
@@ -197821,8 +198206,8 @@ self: {
      }:
      mkDerivation {
        pname = "sparrow";
-       version = "0.0.3";
-       sha256 = "0rwspgmy4s33viijxb4rqck7qdwrxn15k54cbccijncqjpc15azj";
+       version = "0.0.3.1";
+       sha256 = "1rhmj14z9ypv9z5pg6494kbp4mr5906cpjgsrn1cc5rkgj1xlv59";
        libraryHaskellDepends = [
          aeson aeson-attoparsec async attoparsec attoparsec-uri base
          bytestring deepseq exceptions extractable-singleton hashable
@@ -197832,7 +198217,7 @@ self: {
          unordered-containers urlpath uuid wai wai-middleware-content-type
          wai-transformers websockets websockets-simple wuss
        ];
-       description = "Unified streaming dependency management for web apps";
+       description = "Unified streaming data-dependency framework for web apps";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -200316,6 +200701,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Numerical statistics for Foldable containers";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stagen" = callPackage
@@ -200391,6 +200777,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "the * -> * types, operators, and covariant instances";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "star-to-star-contra" = callPackage
@@ -200402,6 +200789,7 @@ self: {
        libraryHaskellDepends = [ base star-to-star ];
        description = "contravariant instances for * -> * types and operators";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "starling" = callPackage
@@ -200631,6 +201019,7 @@ self: {
        librarySystemDepends = [ libstatgrab ];
        description = "Collect system level metrics and statistics";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libstatgrab;};
 
   "static-canvas" = callPackage
@@ -201920,8 +202309,8 @@ self: {
     ({ mkDerivation, base, containers, regex-compat }:
      mkDerivation {
        pname = "stp";
-       version = "0.1.0.0";
-       sha256 = "1anajnwakr3j2yixjjq2clk36b5043hpr0kfqm6qahj62hcdq9wm";
+       version = "0.1.0.1";
+       sha256 = "1vg2w6iawqydg2n4k6m6pzfxr7sr10cx33aabyx6b9wp1i8xa5kl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers ];
@@ -201971,15 +202360,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_27_0" = callPackage
+  "stratosphere_0_28_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.27.0";
-       sha256 = "0n3bfsdv9fgk47zlfc4myh36y0qy4va0yq3ngnsi9zx4vi7pjk0y";
+       version = "0.28.0";
+       sha256 = "1rb138h9w34qvdjc3zddz4gm169ddiv690cwq0mpbfwv28v6j1fg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -203470,8 +203859,8 @@ self: {
      }:
      mkDerivation {
        pname = "structured-cli";
-       version = "2.4.0.1";
-       sha256 = "1978icz9iiq213l240r3m5dmizdl3493xrqlzdz16b0vpfkxmq0k";
+       version = "2.5.0.1";
+       sha256 = "0a28m0i0fygs1i0lxq27vs2l749saqwph1rjdvv10xvxa16kx552";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -204285,17 +204674,12 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
        pname = "superdoc";
-       version = "0.1.2.7";
-       sha256 = "0pfqvw6a9c29fsar1xiqwbsdc294l9iy3jlc6ax0wxdkfqyqwagv";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.1.2.9";
+       sha256 = "0svkvbrc9h1c32anfkfz0pllqzjnj5lg73c2sc7hpb8nzg16qv0v";
        setupHaskellDepends = [ base Cabal containers directory filepath ];
        libraryHaskellDepends = [
          base Cabal containers directory filepath
        ];
-       executableHaskellDepends = [
-         base Cabal containers directory filepath
-       ];
        description = "Additional documentation markup and Unicode support";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -204408,6 +204792,7 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Monitor groups of threads with non-hierarchical lifetimes";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "supplemented" = callPackage
@@ -204744,6 +205129,7 @@ self: {
        testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
        description = "Implementation of swagger data model";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "swagger-petstore" = callPackage
@@ -204837,10 +205223,10 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "swagger2_2_3_0_1" = callPackage
+  "swagger2_2_3_1" = callPackage
     ({ mkDerivation, aeson, base, base-compat-batteries, bytestring
-     , Cabal, cabal-doctest, containers, doctest, generics-sop, Glob
-     , hashable, hspec, hspec-discover, http-media, HUnit
+     , Cabal, cabal-doctest, containers, cookie, doctest, generics-sop
+     , Glob, hashable, hspec, hspec-discover, http-media, HUnit
      , insert-ordered-containers, lens, mtl, network, QuickCheck
      , quickcheck-instances, scientific, template-haskell, text, time
      , transformers, transformers-compat, unordered-containers
@@ -204848,16 +205234,15 @@ self: {
      }:
      mkDerivation {
        pname = "swagger2";
-       version = "2.3.0.1";
-       sha256 = "1l8piv2phl8kq3rgna8wld80b569vazqk2ll1rgs5iakm42lxr1f";
-       revision = "2";
-       editedCabalFile = "0dfxf47mzzb5rmln2smsk0qx53kj1lc3a087r52g2rzz6971zivb";
+       version = "2.3.1";
+       sha256 = "0717i4bv97sywbdf94bszh2g858wznvl8q7ngv0zirnlvx8a27y6";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         aeson base base-compat-batteries bytestring containers generics-sop
-         hashable http-media insert-ordered-containers lens mtl network
-         scientific template-haskell text time transformers
-         transformers-compat unordered-containers uuid-types vector
+         aeson base base-compat-batteries bytestring containers cookie
+         generics-sop hashable http-media insert-ordered-containers lens mtl
+         network QuickCheck scientific template-haskell text time
+         transformers transformers-compat unordered-containers uuid-types
+         vector
        ];
        testHaskellDepends = [
          aeson base base-compat-batteries bytestring containers doctest Glob
@@ -206292,6 +206677,7 @@ self: {
        libraryHaskellDepends = [ base safe text ];
        description = "Table layout";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "table" = callPackage
@@ -206316,8 +206702,8 @@ self: {
      }:
      mkDerivation {
        pname = "table-layout";
-       version = "0.8.0.2";
-       sha256 = "0dxdk1yjbk0f648q59dfkgx9asc24f733ww3cs98p799n7jnfl1v";
+       version = "0.8.0.3";
+       sha256 = "03q3icqgxiwbyl9bhqzhdwsdirr9r40k20k1j8z1barg2309r2aa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -206424,6 +206810,7 @@ self: {
        ];
        description = "Pretty-printing of CSV files";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tabloid" = callPackage
@@ -209204,12 +209591,12 @@ self: {
      , gi-glib, gi-gtk, gi-pango, gi-vte, gtk3, haskell-gi-base
      , hedgehog, lens, mono-traversable, pretty-simple, QuickCheck
      , singletons, tasty, tasty-hedgehog, tasty-hspec, template-haskell
-     , xml-conduit, xml-html-qq
+     , vte_291, xml-conduit, xml-html-qq
      }:
      mkDerivation {
        pname = "termonad";
-       version = "1.0.0.0";
-       sha256 = "1jnn7fbvxq2cxgj92qa2swznvpnqkiqklky9lj6a71j9zp7xray8";
+       version = "1.0.1.0";
+       sha256 = "1mmj7zamq83yb8wg2p127pa969pf06cwdcrvy2h6nb72m098fqcx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -209221,7 +209608,7 @@ self: {
          mono-traversable pretty-simple QuickCheck singletons xml-conduit
          xml-html-qq
        ];
-       libraryPkgconfigDepends = [ gtk3 ];
+       libraryPkgconfigDepends = [ gtk3 vte_291 ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base doctest genvalidity-containers genvalidity-hspec hedgehog lens
@@ -209229,7 +209616,7 @@ self: {
        ];
        description = "Terminal emulator configurable in Haskell";
        license = stdenv.lib.licenses.bsd3;
-     }) {gtk3 = pkgs.gnome3.gtk;};
+     }) {gtk3 = pkgs.gnome3.gtk; vte_291 = pkgs.gnome3.vte;};
 
   "termplot" = callPackage
     ({ mkDerivation, base, brick, data-default, optparse-applicative
@@ -210023,6 +210410,7 @@ self: {
        libraryHaskellDepends = [ base text text-builder ];
        description = "Text styling for ANSI terminals";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-binary" = callPackage
@@ -210386,6 +210774,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Case conversion, word boundary manipulation, and textual subjugation";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-markup" = callPackage
@@ -213872,6 +214261,7 @@ self: {
        libraryHaskellDepends = [ attoparsec base bytestring utf8-string ];
        description = "Library for encoding/decoding TNET strings for PGI";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "to-haskell" = callPackage
@@ -214240,21 +214630,31 @@ self: {
      }) {};
 
   "toodles" = callPackage
-    ({ mkDerivation, aeson, base, blaze-html, cmdargs, directory
-     , megaparsec, MissingH, regex-posix, servant, servant-blaze
-     , servant-server, strict, text, wai, warp, yaml
+    ({ mkDerivation, aeson, base, blaze-html, cmdargs, directory, hspec
+     , hspec-expectations, megaparsec, MissingH, regex-posix, servant
+     , servant-blaze, servant-server, strict, text, wai, warp, yaml
      }:
      mkDerivation {
        pname = "toodles";
-       version = "0.1.4";
-       sha256 = "02s0hna69iwr0834c11xyi3pj1rai1syqrdrdsv882kbad3w499h";
-       isLibrary = false;
+       version = "1.0.0";
+       sha256 = "1ycmf0id5vp0ax4rmvcma4yhdis9p51qkvd43afz84hf0r26gzr6";
+       isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base blaze-html cmdargs directory hspec hspec-expectations
+         megaparsec MissingH regex-posix servant servant-blaze
+         servant-server strict text wai warp yaml
+       ];
        executableHaskellDepends = [
-         aeson base blaze-html cmdargs directory megaparsec MissingH
-         regex-posix servant servant-blaze servant-server strict text wai
-         warp yaml
+         aeson base blaze-html cmdargs directory hspec hspec-expectations
+         megaparsec MissingH regex-posix servant servant-blaze
+         servant-server strict text wai warp yaml
+       ];
+       testHaskellDepends = [
+         aeson base blaze-html cmdargs directory hspec hspec-expectations
+         megaparsec MissingH regex-posix servant servant-blaze
+         servant-server strict text wai warp yaml
        ];
        description = "Manage the TODO entries in your code";
        license = stdenv.lib.licenses.mit;
@@ -214396,8 +214796,8 @@ self: {
     ({ mkDerivation, base, containers, semiring-num }:
      mkDerivation {
        pname = "total-map";
-       version = "0.0.8";
-       sha256 = "0qzlpcczj5nh786070qp5ln1l8j5qbzdx7dmx08lmc69gf6dwf4i";
+       version = "0.1.0";
+       sha256 = "0fqgazhs3ppv4ywdxjrhrdzp5z1szgkq4l0lqpbzqwrhi7axgl69";
        libraryHaskellDepends = [ base containers semiring-num ];
        description = "Finitely represented /total/ maps";
        license = stdenv.lib.licenses.bsd3;
@@ -215475,6 +215875,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tree-diff_0_0_2" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base
+     , base-compat, bytestring, containers, generics-sop, hashable
+     , MemoTrie, parsec, parsers, pretty, QuickCheck, scientific, tagged
+     , tasty, tasty-golden, tasty-quickcheck, text, time, trifecta
+     , unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "tree-diff";
+       version = "0.0.2";
+       sha256 = "0zlviaikyk50l577q7h06w5z058v1ngjlhwzfn965xkp978hnsgq";
+       libraryHaskellDepends = [
+         aeson ansi-terminal ansi-wl-pprint base base-compat bytestring
+         containers generics-sop hashable MemoTrie parsec parsers pretty
+         QuickCheck scientific tagged text time unordered-containers
+         uuid-types vector
+       ];
+       testHaskellDepends = [
+         ansi-terminal ansi-wl-pprint base base-compat parsec QuickCheck
+         tasty tasty-golden tasty-quickcheck trifecta
+       ];
+       description = "Diffing of (expression) trees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tree-fun" = callPackage
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
@@ -218306,33 +218732,6 @@ self: {
      }:
      mkDerivation {
        pname = "tz";
-       version = "0.1.3.1";
-       sha256 = "1ygzrkx01y1x729y7x2fs81gpcw69q6ijy4fxq00xsb0gff74m0b";
-       libraryHaskellDepends = [
-         base binary bytestring containers data-default deepseq
-         template-haskell time tzdata vector
-       ];
-       testHaskellDepends = [
-         base HUnit QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2 test-framework-th time tzdata
-       ];
-       benchmarkHaskellDepends = [
-         base criterion lens thyme time timezone-olson timezone-series
-       ];
-       preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo";
-       description = "Efficient time zone handling";
-       license = stdenv.lib.licenses.asl20;
-     }) {};
-
-  "tz_0_1_3_2" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, criterion
-     , data-default, deepseq, HUnit, lens, QuickCheck, template-haskell
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , test-framework-th, thyme, time, timezone-olson, timezone-series
-     , tzdata, vector
-     }:
-     mkDerivation {
-       pname = "tz";
        version = "0.1.3.2";
        sha256 = "0k35pw27a3hwg5wqjpfqij0y7rkdlmd85n4kj4ckna4z2v86dl7h";
        libraryHaskellDepends = [
@@ -218349,7 +218748,6 @@ self: {
        preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo";
        description = "Efficient time zone handling";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tzdata" = callPackage
@@ -218359,29 +218757,6 @@ self: {
      }:
      mkDerivation {
        pname = "tzdata";
-       version = "0.1.20180501.0";
-       sha256 = "0nnzvkm6r7cq4g14zjxzgxx63sy8pxkg2whfgq6knpzhgran9n45";
-       revision = "1";
-       editedCabalFile = "19iqfzmh8xvd3cqlr1lp673232gk59z335xqbv18d4yy5qxc2fj0";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bytestring containers deepseq vector
-       ];
-       testHaskellDepends = [
-         base bytestring HUnit test-framework test-framework-hunit
-         test-framework-th unix
-       ];
-       description = "Time zone database (as files and as a module)";
-       license = stdenv.lib.licenses.asl20;
-     }) {};
-
-  "tzdata_0_1_20181026_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, HUnit
-     , test-framework, test-framework-hunit, test-framework-th, unix
-     , vector
-     }:
-     mkDerivation {
-       pname = "tzdata";
        version = "0.1.20181026.0";
        sha256 = "0b531ydcb63q44zjpcd2l70xp2hgkxqppnfld7n16ifh9vrxm6gf";
        enableSeparateDataOutput = true;
@@ -218394,7 +218769,6 @@ self: {
        ];
        description = "Time zone database (as files and as a module)";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "u2f" = callPackage
@@ -219028,6 +219402,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "IO without any non-error, synchronous exceptions";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "unexceptionalio-trans" = callPackage
@@ -220590,6 +220965,7 @@ self: {
        executableHaskellDepends = [ base ports-tools process ];
        description = "Software management tool";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "update-monad" = callPackage
@@ -221668,6 +222044,7 @@ self: {
        executableHaskellDepends = [ base process ];
        description = "A debugger for the UUAG system";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uuid" = callPackage
@@ -222975,8 +223352,8 @@ self: {
        pname = "vector-fftw";
        version = "0.1.3.8";
        sha256 = "0xlr4566hh6lnpinzrk623a96jnb8mp8mq6cymlsl8y38qx36jp6";
-       revision = "1";
-       editedCabalFile = "0417f7grdvs3ws508a7k9ngpnisw7f7b6bcmmasflvvr66m6166f";
+       revision = "2";
+       editedCabalFile = "16qbqswgrx48lc4h5fa8ccyxv448scad9f2p9qvgzsn66lmm7iqc";
        libraryHaskellDepends = [ base primitive storable-complex vector ];
        librarySystemDepends = [ fftw ];
        description = "A binding to the fftw library for one-dimensional vectors";
@@ -223748,7 +224125,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "vinyl_0_10_0" = callPackage
+  "vinyl_0_10_0_1" = callPackage
     ({ mkDerivation, aeson, array, base, criterion, doctest, ghc-prim
      , hspec, lens, lens-aeson, linear, microlens, mtl, mwc-random
      , primitive, should-not-typecheck, singletons, tagged, text
@@ -223756,8 +224133,8 @@ self: {
      }:
      mkDerivation {
        pname = "vinyl";
-       version = "0.10.0";
-       sha256 = "1d1lm9mi9gkcaw0lczbmbn81c3kc5yji3jbp2rjabiwhyi61mj4m";
+       version = "0.10.0.1";
+       sha256 = "1x2x40cgyhj3yzw4kajssjvlnwlcrrnz7vaa8as2k9xmv9x76ig4";
        libraryHaskellDepends = [ array base ghc-prim ];
        testHaskellDepends = [
          aeson base doctest hspec lens lens-aeson microlens mtl
@@ -224752,6 +225129,7 @@ self: {
        ];
        description = "Helpers to bind digestive-functors onto wai requests";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-dispatch" = callPackage
@@ -225763,6 +226141,7 @@ self: {
        ];
        description = "WAI request predicates";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-request-spec" = callPackage
@@ -225797,21 +226176,24 @@ self: {
      }) {};
 
   "wai-route" = callPackage
-    ({ mkDerivation, base, bytestring, http-types, mtl, QuickCheck
-     , tasty, tasty-quickcheck, unordered-containers, wai
+    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
+     , http-api-data, http-types, mtl, pattern-trie, QuickCheck, tasty
+     , tasty-quickcheck, text, unordered-containers, wai
      }:
      mkDerivation {
        pname = "wai-route";
-       version = "0.4.0";
-       sha256 = "1rdrb7v17svz6y502bg49pj1wik7zy7r2l8bldfkssqh9kbrjiyp";
+       version = "1.0.0";
+       sha256 = "1hm947mzp3lynsjlhbl9nawa3p35cca15xj32cv5dyyllf0lac8w";
        libraryHaskellDepends = [
-         base bytestring http-types unordered-containers wai
+         base bytestring containers deepseq http-api-data http-types
+         pattern-trie text unordered-containers wai
        ];
        testHaskellDepends = [
-         base bytestring http-types mtl QuickCheck tasty tasty-quickcheck
-         wai
+         base bytestring containers deepseq doctest http-types mtl
+         pattern-trie QuickCheck tasty tasty-quickcheck text
+         unordered-containers wai
        ];
-       description = "Minimalistic, efficient routing for WAI";
+       description = "WAI middleware for path-based request routing with captures";
        license = stdenv.lib.licenses.mpl20;
      }) {};
 
@@ -225875,6 +226257,7 @@ self: {
        ];
        description = "Declarative routing for WAI";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-secure-cookies" = callPackage
@@ -225911,6 +226294,7 @@ self: {
        ];
        description = "Flexible session middleware for WAI";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-session-alt" = callPackage
@@ -225944,6 +226328,7 @@ self: {
        ];
        description = "Session store based on clientsession";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-session-mysql" = callPackage
@@ -226129,6 +226514,7 @@ self: {
        ];
        description = "Collection of utility functions for use with WAI";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-websockets" = callPackage
@@ -227716,6 +228102,7 @@ self: {
        ];
        description = "Wedged postcard generator";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "weeder" = callPackage
@@ -230005,6 +230392,8 @@ self: {
        pname = "x509";
        version = "1.7.5";
        sha256 = "1j67c35g8334jx7x32hh6awhr43dplp0qwal5gnlkmx09axzrc5i";
+       revision = "1";
+       editedCabalFile = "1z98llpggldy4yb7afcsn3r3q4vklvx2pqyrhy9fir5y2yd5l601";
        libraryHaskellDepends = [
          asn1-encoding asn1-parse asn1-types base bytestring containers
          cryptonite hourglass memory mtl pem
@@ -230312,6 +230701,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xeno_0_3_5" = callPackage
+    ({ mkDerivation, array, base, bytestring, criterion, deepseq
+     , ghc-prim, hexml, hexpat, hspec, mtl, mutable-containers, vector
+     , weigh, xml
+     }:
+     mkDerivation {
+       pname = "xeno";
+       version = "0.3.5";
+       sha256 = "0352xn6jlcbh1z4qlz679kybcvwz756xz21fzhv36vklzxclvgxn";
+       libraryHaskellDepends = [
+         array base bytestring deepseq hspec mtl mutable-containers vector
+       ];
+       testHaskellDepends = [ base bytestring hexml hspec ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq ghc-prim hexml hexpat weigh xml
+       ];
+       description = "A fast event-based XML parser in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xenstore" = callPackage
     ({ mkDerivation, base, bytestring, cereal, mtl, network }:
      mkDerivation {
@@ -230835,6 +231245,7 @@ self: {
        ];
        description = "Streaming XML parser based on conduits";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xml-conduit-writer" = callPackage
@@ -231692,8 +232103,8 @@ self: {
     ({ mkDerivation, base, containers, dbus, X11 }:
      mkDerivation {
        pname = "xmonad-spotify";
-       version = "0.1.0.1";
-       sha256 = "11j2kd3l8yh3fn7smcggmi8jv66x80df52vwa7kmxchbsxf5qrpi";
+       version = "0.1.1.0";
+       sha256 = "1pihi0959wys3sd4r8r1rmh5vx84174wmjpanbyihzjhykvf7n2j";
        libraryHaskellDepends = [ base containers dbus X11 ];
        description = "Bind media keys to work with Spotify";
        license = stdenv.lib.licenses.bsd3;
@@ -231743,8 +232154,8 @@ self: {
        pname = "xmonad-volume";
        version = "0.1.0.1";
        sha256 = "0lv1009d8w2xyx98c6g65z4mxp31jz79lqayvdw26a02kq63cild";
-       revision = "1";
-       editedCabalFile = "0wj87ijsfdzibx0k6m1pq2m47gkaddbdy282hcqiishfibkqrig5";
+       revision = "2";
+       editedCabalFile = "1lyaapci7phy59h2f4y7gk4i16i4bl7jnp835i41d5sr2m7mcr4p";
        libraryHaskellDepends = [
          alsa-mixer base composition-prelude containers X11
        ];
@@ -233432,31 +233843,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-hashdb";
-       version = "1.7";
-       sha256 = "072g8c2phhgphj0469qg9chbninxwjkigy2pzhfl51zbm50skfb5";
-       libraryHaskellDepends = [
-         aeson base bytestring persistent text yesod-auth yesod-core
-         yesod-form yesod-persistent
-       ];
-       testHaskellDepends = [
-         aeson base basic-prelude bytestring containers hspec http-conduit
-         http-types monad-logger network-uri persistent-sqlite resourcet
-         text unordered-containers wai-extra yesod yesod-auth yesod-core
-         yesod-test
-       ];
-       description = "Authentication plugin for Yesod";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-auth-hashdb_1_7_1" = callPackage
-    ({ mkDerivation, aeson, base, basic-prelude, bytestring, containers
-     , hspec, http-conduit, http-types, monad-logger, network-uri
-     , persistent, persistent-sqlite, resourcet, text
-     , unordered-containers, wai-extra, yesod, yesod-auth, yesod-core
-     , yesod-form, yesod-persistent, yesod-test
-     }:
-     mkDerivation {
-       pname = "yesod-auth-hashdb";
        version = "1.7.1";
        sha256 = "1rfz2xanm6d70fx8ywh8j8py8003akzgi10s9n7syqm8kaj2fvqd";
        libraryHaskellDepends = [
@@ -233471,7 +233857,6 @@ self: {
        ];
        description = "Authentication plugin for Yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-hmac-keccak" = callPackage
@@ -233602,8 +233987,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.5.2.0";
-       sha256 = "0pf1bplly18rjhagzkqacbpi5wq78kisg0vz217yml5z0xwy1rkj";
+       version = "0.6.0.0";
+       sha256 = "12n2af0by708d5g2080y6w1xf8h692v1nxzgmwqfmsqf0c51ad05";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -234387,8 +234772,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-markdown";
-       version = "0.12.4";
-       sha256 = "14fpjdx5bn9qflarj4za5ncqd7q3dlpa71y76x7z9inz1k1jx684";
+       version = "0.12.5";
+       sha256 = "12h3z7k83qfx2nyqciqg9z3mpbl14z5rpfl8q2768m5rp8gg9j84";
        libraryHaskellDepends = [
          base blaze-html blaze-markup bytestring directory pandoc persistent
          shakespeare text xss-sanitize yesod-core yesod-form
diff --git a/pkgs/development/haskell-modules/patches/fgl-monad-fail.patch b/pkgs/development/haskell-modules/patches/fgl-monad-fail.patch
deleted file mode 100644
index d0df9b774e48..000000000000
--- a/pkgs/development/haskell-modules/patches/fgl-monad-fail.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 344a7e452630ace0f5c647e525e0299d99de5902 Mon Sep 17 00:00:00 2001
-From: Alex Washburn <github@recursion.ninja>
-Date: Mon, 20 Aug 2018 23:46:32 -0400
-Subject: [PATCH] Fixing issue with MonadFailDesugaring.
-
----
- .travis.yml                   |  9 +++++++++
- Data/Graph/Inductive/Monad.hs | 14 ++++++++++++--
- fgl.cabal                     |  3 ++-
- 3 files changed, 23 insertions(+), 3 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index db5eeb1..f026dd1 100644
---- a/Data/Graph/Inductive/Monad.hs
-+++ b/Data/Graph/Inductive/Monad.hs
-@@ -1,4 +1,4 @@
--{-# LANGUAGE MultiParamTypeClasses #-}
-+{-# LANGUAGE CPP, MultiParamTypeClasses #-}
- 
- -- (c) 2002 by Martin Erwig [see file COPYRIGHT]
- -- | Monadic Graphs
-@@ -19,6 +19,10 @@ module Data.Graph.Inductive.Monad(
- 
- 
- import Data.Graph.Inductive.Graph
-+#if MIN_VERSION_base(4,12,0)
-+import Control.Monad.Fail
-+import Prelude hiding (fail)
-+#endif
- 
- {-# ANN module "HLint: ignore Redundant lambda" #-}
- 
-@@ -39,7 +43,13 @@ import Data.Graph.Inductive.Graph
- 
- -- Monadic Graph
- --
--class (Monad m) => GraphM m gr where
-+class
-+#if MIN_VERSION_base(4,12,0)
-+ (MonadFail m)
-+#else
-+ (Monad m)
-+#endif
-+  => GraphM m gr where
-   {-# MINIMAL emptyM, isEmptyM, matchM, mkGraphM, labNodesM #-}
- 
-   emptyM     :: m (gr a b)
-diff --git a/fgl.cabal b/fgl.cabal
-index 4251a21..4b2a039 100644
---- a/fgl.cabal
-+++ b/fgl.cabal
-@@ -18,7 +18,8 @@ extra-source-files:
-                ChangeLog
- 
- tested-with:   GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2, GHC == 7.6.3,
--               GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1, GHC == 8.1.*
-+               GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1, GHC == 8.2.2,
-+               GHC == 8.4.3, GHC == 8.6.1
- 
- source-repository head
-     type:         git
diff --git a/pkgs/development/interpreters/erlang/R21.nix b/pkgs/development/interpreters/erlang/R21.nix
index 1ca652eed660..965845c5a33a 100644
--- a/pkgs/development/interpreters/erlang/R21.nix
+++ b/pkgs/development/interpreters/erlang/R21.nix
@@ -1,8 +1,8 @@
 { mkDerivation }:
 
 mkDerivation rec {
-  version = "21.1.2";
-  sha256 = "0kn6ghr151b1qmbazc1c8k1r0wpsrqh9l3wrhfyxix3ld5yc3a5c";
+  version = "21.1.3";
+  sha256 = "0374qpafrpnfspsvjaa3sgs0h8ryi3ah8fvmr7dm7zsmgb4ihdsg";
 
   prePatch = ''
     substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index f9938de6f59d..03a235ae3849 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -1,5 +1,5 @@
 # pcre functionality is tested in nixos/tests/php-pcre.nix
-{ lib, stdenv, fetchurl, flex, bison
+{ lib, stdenv, fetchurl, flex, bison, autoconf
 , mysql, libxml2, readline, zlib, curl, postgresql, gettext
 , openssl, pcre, pkgconfig, sqlite, config, libjpeg, libpng, freetype
 , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
@@ -12,6 +12,7 @@ let
   generic =
   { version
   , sha256
+  , extraPatches ? []
   , imapSupport ? config.php.imap or (!stdenv.isDarwin)
   , ldapSupport ? config.php.ldap or true
   , mhashSupport ? config.php.mhash or true
@@ -65,7 +66,7 @@ let
 
       enableParallelBuilding = true;
 
-      nativeBuildInputs = [ pkgconfig ];
+      nativeBuildInputs = [ pkgconfig autoconf ];
       buildInputs = [ flex bison pcre ]
         ++ optional stdenv.isLinux systemd
         ++ optionals imapSupport [ uwimap openssl pam ]
@@ -182,6 +183,8 @@ let
 
         configureFlags+=(--with-config-file-path=$out/etc \
           --includedir=$dev/include)
+
+        ./buildconf --force
       '';
 
       postInstall = ''
@@ -210,7 +213,7 @@ let
         outputsToInstall = [ "out" "dev" ];
       };
 
-      patches = [ ./fix-paths-php7.patch ];
+      patches = [ ./fix-paths-php7.patch ] ++ extraPatches;
 
       postPatch = optional stdenv.isDarwin ''
         substituteInPlace configure --replace "-lstdc++" "-lc++"
@@ -223,35 +226,19 @@ let
     };
 
 in {
-  # Because of an upstream bug: https://bugs.php.net/bug.php?id=76826
-  # We can't update the darwin versions because they simply don't compile at
-  # all due to a bug in the intl extensions.
-  #
-  # The bug so far is present in 7.1.21, 7.1.22, 7.1.23, 7.2.9, 7.2.10, 7.2.11.
+  php71 = generic {
+    version = "7.1.24";
+    sha256 = "02qy76krbdhlbkzs9k1sa5mgmj0qnbb8gcf1j3q0cq3z7kkj9pk6";
+
+    # https://bugs.php.net/bug.php?id=76826
+    extraPatches = optional stdenv.isDarwin ./php71-darwin-isfinite.patch;
+  };
 
-  php71 = generic (
-    if stdenv.isDarwin then
-      {
-        version = "7.1.20";
-        sha256 = "0i8xd6p4zdg8fl6f0j430raanlshsshr3s3jlm72b0gvi1n4f6rs";
-      }
-    else
-      {
-        version = "7.1.23";
-        sha256 = "0jyc5q666xh808sgy78cfylkhy5ma2zdg88jlxhagyphv23aly9d";
-      }
-  );
+  php72 = generic {
+    version = "7.2.12";
+    sha256 = "1dpnbsv4bdlc5v40ddddi971f456jp1qrn89w5di1dj70g1c895p";
 
-  php72 = generic (
-    if stdenv.isDarwin then
-      {
-        version = "7.2.8";
-        sha256 = "1rky321gcvjm0npbfd4bznh36an0y14viqcvn4yzy3x643sni00z";
-      }
-    else
-      {
-        version = "7.2.11";
-        sha256 = "1idlv04j1l2d0bn5nvfrapcpjh6ayj1n4y80lqvnp5h75m07y3aa";
-      }
-  );
+    # https://bugs.php.net/bug.php?id=76826
+    extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
+  };
 }
diff --git a/pkgs/development/interpreters/php/fix-paths-php7.patch b/pkgs/development/interpreters/php/fix-paths-php7.patch
index 2b9e4ad0ebbf..908f06ec49ab 100644
--- a/pkgs/development/interpreters/php/fix-paths-php7.patch
+++ b/pkgs/development/interpreters/php/fix-paths-php7.patch
@@ -1,16 +1,8 @@
---- php-7.0.0beta1/configure	    2015-07-10 12:11:41.810045613 +0000
-+++ php-7.0.0beta1-new/configure	2015-07-17 16:10:21.775528267 +0000
-@@ -6172,7 +6172,7 @@
-     as_fn_error $? "Please note that Apache version >= 2.0.44 is required" "$LINENO" 5
-   fi
- 
--  APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
-+  APXS_LIBEXECDIR="$prefix/modules"
-   if test -z `$APXS -q SYSCONFDIR`; then
-     INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
-                  $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
-@@ -37303,9 +37303,7 @@
- 
+diff -ru a/ext/gettext/config.m4 b/ext/gettext/config.m4
+--- a/ext/gettext/config.m4	2018-11-07 15:35:26.000000000 +0000
++++ b/ext/gettext/config.m4	2018-11-27 00:33:07.000000000 +0000
+@@ -6,9 +6,7 @@
+ [  --with-gettext[=DIR]      Include GNU gettext support])
  
  if test "$PHP_GETTEXT" != "no"; then
 -  for i in $PHP_GETTEXT /usr/local /usr; do
@@ -19,5 +11,16 @@
 +  GETTEXT_DIR=$PHP_GETTEXT
  
    if test -z "$GETTEXT_DIR"; then
-     as_fn_error $? "Cannot locate header file libintl.h" "$LINENO" 5
-
+     AC_MSG_ERROR(Cannot locate header file libintl.h)
+diff -ru a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4
+--- a/sapi/apache2handler/config.m4	2018-11-07 15:35:23.000000000 +0000
++++ b/sapi/apache2handler/config.m4	2018-11-27 00:32:28.000000000 +0000
+@@ -66,7 +66,7 @@
+     AC_MSG_ERROR([Please note that Apache version >= 2.0.44 is required])
+   fi
+ 
+-  APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
++  APXS_LIBEXECDIR="$prefix/modules"
+   if test -z `$APXS -q SYSCONFDIR`; then
+     INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
+                  $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
diff --git a/pkgs/development/interpreters/php/php71-darwin-isfinite.patch b/pkgs/development/interpreters/php/php71-darwin-isfinite.patch
new file mode 100644
index 000000000000..ebfcd94f8d4b
--- /dev/null
+++ b/pkgs/development/interpreters/php/php71-darwin-isfinite.patch
@@ -0,0 +1,60 @@
+diff -ru a/Zend/configure.in b/Zend/configure.in
+--- a/Zend/configure.in	2018-11-07 15:35:26.000000000 +0000
++++ b/Zend/configure.in	2018-11-27 00:28:48.000000000 +0000
+@@ -70,7 +70,7 @@
+ #endif
+ 
+ #ifndef zend_isnan
+-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_isnan(a) isnan(a)
+ #elif defined(HAVE_FPCLASS)
+ #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
+@@ -79,7 +79,7 @@
+ #endif
+ #endif
+ 
+-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_isinf(a) isinf(a)
+ #elif defined(INFINITY)
+ /* Might not work, but is required by ISO C99 */
+@@ -90,7 +90,7 @@
+ #define zend_isinf(a) 0
+ #endif
+ 
+-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_finite(a) isfinite(a)
+ #elif defined(HAVE_FINITE)
+ #define zend_finite(a) finite(a)
+diff -ru a/configure.in b/configure.in
+--- a/configure.in	2018-11-07 15:35:26.000000000 +0000
++++ b/configure.in	2018-11-27 00:28:48.000000000 +0000
+@@ -75,7 +75,7 @@
+ #endif
+ 
+ #ifndef zend_isnan
+-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_isnan(a) isnan(a)
+ #elif defined(HAVE_FPCLASS)
+ #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
+@@ -84,7 +84,7 @@
+ #endif
+ #endif
+ 
+-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_isinf(a) isinf(a)
+ #elif defined(INFINITY)
+ /* Might not work, but is required by ISO C99 */
+@@ -95,7 +95,7 @@
+ #define zend_isinf(a) 0
+ #endif
+ 
+-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_finite(a) isfinite(a)
+ #elif defined(HAVE_FINITE)
+ #define zend_finite(a) finite(a)
diff --git a/pkgs/development/interpreters/php/php72-darwin-isfinite.patch b/pkgs/development/interpreters/php/php72-darwin-isfinite.patch
new file mode 100644
index 000000000000..ea2e3e28f2cc
--- /dev/null
+++ b/pkgs/development/interpreters/php/php72-darwin-isfinite.patch
@@ -0,0 +1,62 @@
+diff --git a/Zend/configure.ac b/Zend/configure.ac
+index b95c1360b8..fe16c86007 100644
+--- a/Zend/configure.ac
++++ b/Zend/configure.ac
+@@ -60,7 +60,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
+ #include <math.h>
+ 
+ #ifndef zend_isnan
+-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_isnan(a) isnan(a)
+ #elif defined(HAVE_FPCLASS)
+ #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
+@@ -69,7 +69,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
+ #endif
+ #endif
+ 
+-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_isinf(a) isinf(a)
+ #elif defined(INFINITY)
+ /* Might not work, but is required by ISO C99 */
+@@ -80,7 +80,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
+ #define zend_isinf(a) 0
+ #endif
+ 
+-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_finite(a) isfinite(a)
+ #elif defined(HAVE_FINITE)
+ #define zend_finite(a) finite(a)
+diff --git a/configure.ac b/configure.ac
+index d3f3cacd07..ddbf712ba2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -68,7 +68,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
+ #include <math.h>
+ 
+ #ifndef zend_isnan
+-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_isnan(a) isnan(a)
+ #elif defined(HAVE_FPCLASS)
+ #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
+@@ -77,7 +77,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
+ #endif
+ #endif
+ 
+-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_isinf(a) isinf(a)
+ #elif defined(INFINITY)
+ /* Might not work, but is required by ISO C99 */
+@@ -88,7 +88,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
+ #define zend_isinf(a) 0
+ #endif
+ 
+-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
++#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
+ #define zend_finite(a) isfinite(a)
+ #elif defined(HAVE_FINITE)
+ #define zend_finite(a) finite(a)
diff --git a/pkgs/development/interpreters/spidermonkey/60.nix b/pkgs/development/interpreters/spidermonkey/60.nix
new file mode 100644
index 000000000000..de65006be95a
--- /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/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index 7ef3c4c89686..e2ff66a47084 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
     # Ticket: https://bugs.freedesktop.org/show_bug.cgi?id=27222
     (fetchpatch {
       name = "SDL_SetGamma.patch";
-      url = "http://src.fedoraproject.org/cgit/rpms/SDL.git/plain/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch?id=04a3a7b1bd88c2d5502292fad27e0e02d084698d";
+      url = "https://src.fedoraproject.org/cgit/rpms/SDL.git/plain/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch?id=04a3a7b1bd88c2d5502292fad27e0e02d084698d";
       sha256 = "0x52s4328kilyq43i7psqkqg7chsfwh0aawr50j566nzd7j51dlv";
     })
     # Fix a build failure on OS X Mavericks
diff --git a/pkgs/development/libraries/Xaw3d/default.nix b/pkgs/development/libraries/Xaw3d/default.nix
index 0a7f02f17e59..3e496b7e981f 100644
--- a/pkgs/development/libraries/Xaw3d/default.nix
+++ b/pkgs/development/libraries/Xaw3d/default.nix
@@ -8,6 +8,7 @@ stdenv.mkDerivation {
     url = https://www.x.org/releases/individual/lib/libXaw3d-1.6.3.tar.bz2;
     sha256 = "0i653s8g25cc0mimkwid9366bqkbyhdyjhckx7bw77j20hzrkfid";
   };
+  dontUseImakeConfigure = true;
   nativeBuildInputs = [ pkgconfig bison flex imake gccmakedep ];
   buildInputs = [ libXpm libXp ];
   propagatedBuildInputs = [ xlibsWrapper libXmu ];
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index 66d540f8d66b..b42240a26c4e 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 831d0cc0f713..9569f51ba792 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 19b82fcffa38..f53b63472cce 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/aravis/default.nix b/pkgs/development/libraries/aravis/default.nix
new file mode 100644
index 000000000000..dc98de1c2cb6
--- /dev/null
+++ b/pkgs/development/libraries/aravis/default.nix
@@ -0,0 +1,89 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk-doc, intltool
+, audit, glib, libusb, libxml2
+, wrapGAppsHook
+, gstreamer ? null
+, gst-plugins-base ? null
+, gst-plugins-good ? null
+, gst-plugins-bad ? null
+, libnotify ? null
+, gnome3 ? null
+, enableUsb ? true
+, enablePacketSocket ? true
+, enableViewer ? true
+, enableGstPlugin ? true
+, enableCppTest ? false
+, enableFastHeartbeat ? false
+, enableAsan ? false
+}:
+
+let
+  gstreamerAtLeastVersion1 =
+    stdenv.lib.all
+      (pkg: pkg != null && stdenv.lib.versionAtLeast (stdenv.lib.getVersion pkg) "1.0")
+      [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ];
+in
+  assert enableGstPlugin -> stdenv.lib.all (pkg: pkg != null) [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ];
+  assert enableViewer -> enableGstPlugin;
+  assert enableViewer -> libnotify != null;
+  assert enableViewer -> gnome3 != null;
+  assert enableViewer -> gstreamerAtLeastVersion1;
+
+  stdenv.mkDerivation rec {
+
+    pname = "aravis";
+    version = "0.5.13";
+    name = "${pname}-${version}";
+
+    src = fetchFromGitHub {
+      owner = "AravisProject";
+      repo = "aravis";
+      rev= "c56e530b8ef53b84e17618ea2f334d2cbae04f48";
+      sha256 = "1dj24dir239zmiscfhyy1m8z5rcbw0m1vx9lipx0r7c39bzzj5gy";
+    };
+
+    outputs = [ "bin" "dev" "out" "lib" ];
+
+    nativeBuildInputs = [
+      autoreconfHook
+      pkgconfig
+      intltool
+      gtk-doc
+    ] ++ stdenv.lib.optional enableViewer wrapGAppsHook;
+
+    buildInputs =
+      [ glib libxml2 ]
+      ++ stdenv.lib.optional enableUsb libusb
+      ++ stdenv.lib.optional enablePacketSocket audit
+      ++ stdenv.lib.optionals (enableViewer || enableGstPlugin) [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]
+      ++ stdenv.lib.optionals (enableViewer) [ libnotify gnome3.gtk3 gnome3.defaultIconTheme ];
+
+    preAutoreconf = ''./autogen.sh'';
+
+    configureFlags =
+      stdenv.lib.optional enableUsb "--enable-usb"
+        ++ stdenv.lib.optional enablePacketSocket "--enable-packet-socket"
+        ++ stdenv.lib.optional enableViewer "--enable-viewer"
+        ++ stdenv.lib.optional enableGstPlugin
+        (if gstreamerAtLeastVersion1 then "--enable-gst-plugin" else "--enable-gst-0.10-plugin")
+        ++ stdenv.lib.optional enableCppTest "--enable-cpp-test"
+        ++ stdenv.lib.optional enableFastHeartbeat "--enable-fast-heartbeat"
+        ++ stdenv.lib.optional enableAsan "--enable-asan";
+
+    postPatch = ''
+        ln -s ${gtk-doc}/share/gtk-doc/data/gtk-doc.make .
+      '';
+
+    doCheck = true;
+
+    meta = {
+      description = "Library for video acquisition using GenICam cameras";
+      longDescription = ''
+        Implements the gigabit ethernet and USB3 protocols used by industrial cameras.
+      '';
+      homepage = https://aravisproject.github.io/docs/aravis-0.5;
+      license = stdenv.lib.licenses.lgpl2;
+      maintainers = [];
+      platforms = stdenv.lib.platforms.unix;
+    };
+  }
+
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
index f1db64cc9ea5..2962e099f255 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 d9251c2bdc5d..cae674809644 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 288bd9a9dd09..b56c84f57bd0 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 b2c7bf5d6449..e741305f9913 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/bootil/default.nix b/pkgs/development/libraries/bootil/default.nix
index b64cdd5245fd..0ed223832b6c 100644
--- a/pkgs/development/libraries/bootil/default.nix
+++ b/pkgs/development/libraries/bootil/default.nix
@@ -23,21 +23,21 @@ stdenv.mkDerivation rec {
     url = https://github.com/garrynewman/bootil/pull/22.patch;
     name = "github-pull-request-22.patch";
     sha256 = "1qf8wkv00pb9w1aa0dl89c8gm4rmzkxfl7hidj4gz0wpy7a24qa2";
-  })];
-
-  platform =
-    if stdenv.isLinux then "linux"
-    else if stdenv.isDarwin then "macosx"
-    else throw "unrecognized system ${stdenv.hostPlatform.system}";
-
-  buildInputs = [ premake4 ];
+  }) ];
+
+  # Avoid guessing where files end up. Just use current directory.
+  postPatch = ''
+    substituteInPlace projects/premake4.lua \
+      --replace 'location ( os.get() .. "/" .. _ACTION )' 'location ( ".." )'
+    substituteInPlace projects/bootil.lua \
+      --replace 'targetdir ( "../lib/" .. os.get() .. "/" .. _ACTION )' 'targetdir ( ".." )'
+  '';
 
-  configurePhase = "premake4 --file=projects/premake4.lua gmake";
-  makeFlags = "-C projects/${platform}/gmake";
+  nativeBuildInputs = [ premake4 ];
+  premakefile = "projects/premake4.lua";
 
   installPhase = ''
-    mkdir -p $out/lib
-    cp lib/${platform}/gmake/libbootil_static.a $out/lib/
-    cp -r include $out/
+    install -D libbootil_static.a $out/lib/libbootil_static.a
+    cp -r include $out
   '';
 }
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 6c8951165313..d59bc5161af5 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 090f85554b66..7095a808540f 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/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
index f35335e4be7b..e4296810f35f 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/confuse/default.nix b/pkgs/development/libraries/confuse/default.nix
deleted file mode 100644
index 3257dfe5d37c..000000000000
--- a/pkgs/development/libraries/confuse/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation rec {
-  name = "confuse-${version}";
-  version = "3.2.1";
-  src = fetchurl {
-    url = "https://github.com/martinh/libconfuse/releases/download/v${version}/${name}.tar.xz";
-    sha256 = "0pnjmlj9i0alp407qd7c0vq83sz7gpsjrbdgpcn4xvzjp9r35ii3";
-  };
-
-  meta = {
-    homepage = http://www.nongnu.org/confuse/;
-    description = "Configuration file parser library";
-    license = stdenv.lib.licenses.isc;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 4344923f694e..0cf52238fe3b 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
   patches = [
     ./missing-size_t.patch # https://bugzilla.redhat.com/show_bug.cgi?id=906519
     ./cyrus-sasl-ac-try-run-fix.patch
+    (fetchpatch {
+      name = "CVE-2013-4122.patch";
+      url = "mirror://sourceforge/miscellaneouspa/files/glibc217/cyrus-sasl-2.1.26-glibc217-crypt.diff";
+      sha256 = "05l7dh1w9d5fvzg0pjwzqh0fy4ah8y5cv6v67s4ssbq8xwd4pkf2";
+    })
   ] ++ lib.optional stdenv.isFreeBSD (
       fetchurl {
         url = "http://www.linuxfromscratch.org/patches/blfs/svn/cyrus-sasl-2.1.26-fixes-3.patch";
diff --git a/pkgs/development/libraries/dee/default.nix b/pkgs/development/libraries/dee/default.nix
index 1288f4ac2f57..fb7ec512319e 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/dssi/default.nix b/pkgs/development/libraries/dssi/default.nix
index 49d570c8896a..8eae64eae2ed 100644
--- a/pkgs/development/libraries/dssi/default.nix
+++ b/pkgs/development/libraries/dssi/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     ];
     platforms = platforms.linux;
     license = licenses.lgpl21;
-    downloadPage = "http://sourceforge.net/projects/dssi/files/dssi/";
+    downloadPage = "https://sourceforge.net/projects/dssi/files/dssi/";
   };
 }
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index 924fb52b0900..e884bb41e20e 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 693d50e93307..41ab930a30ed 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/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 08b0a87e3e20..b60f4be245e2 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 dc0ca5fffa3a..0b5f1002c234 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 9fece4cb7a54..20f05d28bfe4 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 fa3aa77cd3ad..e1f243f8fd3b 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 da7041b6786f..c405002b6d64 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, fetchpatch, intltool, pkgconfig, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, json-glib, libsoup, libnotify, gdk_pixbuf
-, modemmanager, avahi, glib-networking, wrapGAppsHook, gobjectIntrospection
+, modemmanager, avahi, glib-networking, wrapGAppsHook, gobject-introspection
 , withDemoAgent ? false
 }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "devdoc" ];
 
   nativeBuildInputs = [
-    pkgconfig intltool wrapGAppsHook gobjectIntrospection
+    pkgconfig intltool wrapGAppsHook 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 87d26b100270..e8105ef08237 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 508a012c6900..1eb50fc4f100 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 000000000000..4fdec2dd7e7d
--- /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 b25f5c90bfae..1c6dfc4a8524 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 63d00f1dd1a7..d036140567fe 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -1,17 +1,17 @@
-{ 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.1";
+  version = "3.2.3";
   name = "gmime-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/3.2/${name}.tar.xz";
-    sha256 = "0q65nalxzpyjg37gdlpj9v6028wp0qx47z96q0ff6znw217nzzjn";
+    sha256 = "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a";
   };
 
   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 f7e1bedd3e18..d4160b51d68c 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 96e7b553e607..e2525d833f8f 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(_sanitize_install_name(m.group(1)))
-+                    shlibs.append(os.path.join(options.fallback_libpath, _sanitize_install_name(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 71bff07dd97f..3dc66aec1595 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
@@ -41,6 +42,10 @@ stdenv.mkDerivation rec {
   patches = [
     ./macos-shared-library.patch
     (substituteAll {
+      src = ./test_shlibs.patch;
+      inherit nixStoreDir;
+    })
+    (substituteAll {
       src = ./absolute_shlib_path.patch;
       inherit nixStoreDir;
     })
@@ -50,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
index 9a1d41cf1e3d..9941878c427b 100644
--- a/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch
+++ b/pkgs/development/libraries/gobject-introspection/macos-shared-library.patch
@@ -25,12 +25,12 @@ index c93d20c..4d4915d 100644
  
  # Assume ldd output is something vaguely like
  #
-@@ -121,7 +137,7 @@ def _resolve_non_libtool(options, binary, libraries):
-                 m = pattern.search(line)
+@@ -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(1))
-+                    shlibs.append(_sanitize_install_name(m.group(1)))
+-                    shlibs.append(m.group())
++                    shlibs.append(_sanitize_install_name(m.group()))
                      break
  
-         if len(patterns) > 0:
+     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 000000000000..c3152982d199
--- /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 ef36a9c076fb..99b1307179a5 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 ae2decb68acc..2113b4f690bb 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/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index f4145c85199b..938a47a40374 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
 
 stdenv.mkDerivation rec {
-  version = "1.15.0";
+  version = "1.16.1";
   name = "grpc-${version}";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
-    rev= "d2c7d4dea492b9a86a53555aabdbfa90c2b01730";
-    sha256 = "1dpnhc5kw7znivrnjx1gva57v6b548am4v5nvh3dkwwzsa1k6vkv";
+    rev = "v${version}";
+    sha256 = "1jimqz3115f9pli5w6ik9wi7mjc7ix6y7yrq4a1ab9fc3dalj7p2";
   };
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];
diff --git a/pkgs/development/libraries/gsettings-qt/default.nix b/pkgs/development/libraries/gsettings-qt/default.nix
index 9e893932a64c..3f9cd8120d89 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 af7aa2b12076..21838680dc4d 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 }:
 
@@ -23,7 +23,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 a23c14878818..a65ab767baa0 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 763e76c9cc94..e8b8091bc244 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 {
   name = "gsignond-plugin-mail-${version}";
@@ -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 ee45430122c5..0da6745bb4e3 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 25f205579066..b09bc0e60abf 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 0145272c2819..776125a7537d 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 0d77018eee5f..ed1e5b6faabb 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 c67526fb712d..0acdf71fb72f 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 c1f2b2f006c3..2c1faac387e6 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 56d17b49cbbb..6e1f2f4a2c55 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 624b967765cd..6236edec6a40 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 abcdd0b9305e..916185bf7ecf 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 4bf42e1b5b65..266abe16c103 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 015843c05393..421029a9d55f 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 0171a4b6833b..26d0b5c35958 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 9e1bc5363a1f..58c8ebccc3c2 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 7cd9de4b06b1..4ff1e999145f 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 110315110006..6d4288376800 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 7491da7c3e2f..5e68a027470b 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 aba95889b698..a6c11a569cfa 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 50107959786d..05c8522aebc8 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 45adf46ff36f..648209125fe3 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 f445f90f308f..78a2d365033e 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 6bcf72b8a7e6..03f4b0fe687a 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 000000000000..207a440a0d85
--- /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 3989e941b6b2..98370f52e183 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 be83dbc52f45..9a18b025fabe 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 a73122d8253e..7eee8201f570 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/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index 20ab104874dc..abbb2457f6ae 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 fe7482ed56ef..91ad59ad27a0 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/kyotocabinet/default.nix b/pkgs/development/libraries/kyotocabinet/default.nix
index 935f52eeb71c..5ca68b4361af 100644
--- a/pkgs/development/libraries/kyotocabinet/default.nix
+++ b/pkgs/development/libraries/kyotocabinet/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   patches = [(fetchurl {
     name = "gcc6.patch";
-    url = "http://src.fedoraproject.org/rpms/kyotocabinet/raw/master/f/kyotocabinet-1.2.76-gcc6.patch";
+    url = "https://src.fedoraproject.org/rpms/kyotocabinet/raw/master/f/kyotocabinet-1.2.76-gcc6.patch";
     sha256 = "1h5k38mkiq7lz8nd2gbn7yvimcz49g3z7phn1cr560bzjih8rz23";
   })];
 
diff --git a/pkgs/development/libraries/lasso/default.nix b/pkgs/development/libraries/lasso/default.nix
index 873ccc5665df..54d33e5f425e 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 e8e23ed5ffbb..525ec6e35f60 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 8bf0e4bcb93c..46cc30a8944f 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 b99a3c7059aa..eb38c2e38a69 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 95b1ad074b05..b8d25f48b3b7 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/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix
index 0b06aef95240..bef7a161dd3b 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 730cef6f6960..8fbbae43f619 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/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index b59bf9a06ac5..1b00ff4c0fbb 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, libusb1, confuse
+{ stdenv, fetchurl, cmake, pkgconfig, libusb1, libconfuse
 , cppSupport ? true, boost ? null
 , pythonSupport ? true, python ? null, swig ? null
 , docSupport ? true, doxygen ? null
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
     sha256 = "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = with stdenv.lib; [ cmake confuse ]
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = with stdenv.lib; [ libconfuse ]
     ++ optionals cppSupport [ boost ]
     ++ optionals pythonSupport [ python swig ]
     ++ optionals docSupport [ doxygen ];
diff --git a/pkgs/development/libraries/libgrss/default.nix b/pkgs/development/libraries/libgrss/default.nix
index 548114b642fa..430ebcfd309d 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 bab7ede2d6e8..fcc76938b3ed 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 e07622eb13af..d3dea766cbbb 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 000000000000..7e80ec817d19
--- /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 81e5f0fe73ea..c1ec533ba5b8 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 718233b0ffa0..9d892069b269 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 1f5ee90337aa..f6dc85b629dd 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 78c0fd6fb26c..c57590aad218 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/libipfix/default.nix b/pkgs/development/libraries/libipfix/default.nix
index 9d7bd273d8db..fea5a86da446 100644
--- a/pkgs/development/libraries/libipfix/default.nix
+++ b/pkgs/development/libraries/libipfix/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libipfix-${version}";
   version = "110209";
   src = fetchurl {
-    url = "http://sourceforge.net/projects/libipfix/files/libipfix/libipfix_110209.tgz";
+    url = "mirror://sourceforge/libipfix/files/libipfix/libipfix_110209.tgz";
     sha256 = "0h7v0sxjjdc41hl5vq2x0yhyn04bczl11bqm97825mivrvfymhn6";
   };
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 84c6c96ea5de..4e654168d4b4 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 d57d75c5cae7..6a9cab16e7ed 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 51d2e49eb350..258fbc2657ba 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/libmatheval/default.nix b/pkgs/development/libraries/libmatheval/default.nix
index 8e429875b36b..0f43c0d46164 100644
--- a/pkgs/development/libraries/libmatheval/default.nix
+++ b/pkgs/development/libraries/libmatheval/default.nix
@@ -15,26 +15,26 @@ stdenv.mkDerivation rec {
   # Patches coming from debian package
   # https://packages.debian.org/source/sid/libs/libmatheval
   patches = [ (fetchpatch {
-                url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/002-skip-docs.patch";
+                url = "https://salsa.debian.org/science-team/libmatheval/raw/debian/1.1.11+dfsg-3/debian/patches/002-skip-docs.patch";
                 sha256 = "1nnkk9aw4jj6nql46zhwq6vx74zrmr1xq5ix0xyvpawhabhgjg62";
               } )
               (fetchpatch {
-                url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/003-guile2.0.patch";
+                url = "https://salsa.debian.org/science-team/libmatheval/raw/debian/1.1.11+dfsg-3/debian/patches/003-guile2.0.patch";
                 sha256 = "1xgfw4finfvr20kjbpr4yl2djxmyr4lmvfa11pxirfvhrdi602qj";
                } )
               (fetchpatch {
-                url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/disable_coth_test.patch";
+                url = "https://salsa.debian.org/science-team/libmatheval/raw/debian/1.1.11+dfsg-3/debian/patches/disable_coth_test.patch";
                 sha256 = "0bai8jrd5azfz5afmjixlvifk34liq58qb7p9kb45k6kc1fqqxzm";
                } )
             ];
-  
+
   meta = {
     description = "A library to parse and evaluate symbolic expressions input as text";
     longDescription = ''
-      GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic 
-      expressions input as text. It supports expressions in any number of variables of arbitrary 
-      names, decimal and symbolic constants, basic unary and binary operators, and elementary 
-      mathematical functions. In addition to parsing and evaluation, libmatheval can also compute 
+      GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic
+      expressions input as text. It supports expressions in any number of variables of arbitrary
+      names, decimal and symbolic constants, basic unary and binary operators, and elementary
+      mathematical functions. In addition to parsing and evaluation, libmatheval can also compute
       symbolic derivatives and output expressions to strings.
     '';
     homepage = https://www.gnu.org/software/libmatheval/;
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
index 42bcf5b64740..6653025eb056 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/libngspice/default.nix b/pkgs/development/libraries/libngspice/default.nix
index 5a34910924ce..87382bd1ae21 100644
--- a/pkgs/development/libraries/libngspice/default.nix
+++ b/pkgs/development/libraries/libngspice/default.nix
@@ -3,11 +3,11 @@
 # Note that this does not provide the ngspice command-line utility. For that see
 # the ngspice derivation.
 stdenv.mkDerivation {
-  name = "libngspice-28";
+  name = "libngspice-29";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ngspice/ngspice-28.tar.gz";
-    sha256 = "0rnz2rdgyav16w7wfn3sfrk2lwvvgz1fh0l9107zkcldijklz04l";
+    url = "mirror://sourceforge/ngspice/ngspice-29.tar.gz";
+    sha256 = "0jjwz73naq7l9yhwdqbpnrfckywp2ffkppivxjv8w92zq7xhyvcd";
   };
 
   nativeBuildInputs = [ flex bison ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "The Next Generation Spice (Electronic Circuit Simulator)";
     homepage = http://ngspice.sourceforge.net;
-    license = with licenses; [ "BSD" gpl2 ];
+    license = with licenses; [ bsd3 gpl2Plus lgpl2Plus ]; # See https://sourceforge.net/p/ngspice/ngspice/ci/master/tree/COPYING
     maintainers = with maintainers; [ bgamari ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index 11f2731eb725..d427f7decf8b 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 d4c324d4f23b..e0f3be230709 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/libp11/default.nix b/pkgs/development/libraries/libp11/default.nix
index 54e2616e782f..cb675f4d3e58 100644
--- a/pkgs/development/libraries/libp11/default.nix
+++ b/pkgs/development/libraries/libp11/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libp11-${version}";
-  version = "0.4.7";
+  version = "0.4.9";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "libp11";
     rev = name;
-    sha256 = "0n1i0pxj6l0vdq8gpdwfp5p9qd7wkymg0lpy6a17ix8hpqsljlhr";
+    sha256 = "1f0ir1mnr4wxxnql8ld2aa6288fn04fai5pr0sics7kbdm1g0cki";
   };
 
   makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index f5c92e11c357..65da1f8e9d1d 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 7c94919f344a..5a5fa3e279ab 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 4fc0d6688d4e..5b3a00b12d4a 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 db2b468bb3a2..0e6bdb80cddc 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 cf943d45b4db..19ebbd363e1e 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 9849e2600bb0..e59282553fbc 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/libtar/default.nix b/pkgs/development/libraries/libtar/default.nix
index 481e7ad83cc3..f2cb879b3e07 100644
--- a/pkgs/development/libraries/libtar/default.nix
+++ b/pkgs/development/libraries/libtar/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   patches = let
     fp =  name: sha256:
       fetchpatch {
-        url = "http://sources.debian.net/data/main/libt/libtar/1.2.20-4/debian/patches/${name}.patch";
+        url = "https://sources.debian.net/data/main/libt/libtar/1.2.20-4/debian/patches/${name}.patch";
         inherit sha256;
       };
     in [
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "C library for manipulating POSIX tar files";
-    homepage = http://repo.or.cz/libtar;
+    homepage = https://repo.or.cz/libtar;
     license = licenses.bsd3;
     platforms = with platforms; linux ++ darwin;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 4176bb9555f5..55c747540f77 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,11 +1,7 @@
 { stdenv
-, fetchFromGitLab
+, fetchurl
 
 , pkgconfig
-, autogen
-, autoconf
-, automake
-, libtool
 
 , zlib
 , libjpeg
@@ -13,26 +9,22 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2018-11-04";
-  name = "libtiff-unstable-${version}";
-
-  src = fetchFromGitLab {
-    owner = "libtiff";
-    repo = "libtiff";
-    rev = "779e54ca32b09155c10d398227a70038de399d7d";
-    sha256 = "029fmn0rdmb5gxhg83ff9j2zx3qk6wsiaiv554jq26pdc23achsp";
+  version = "4.0.10";
+  name = "libtiff-${version}";
+
+  src = fetchurl {
+    url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
+    sha256 = "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic";
   };
 
   outputs = [ "bin" "dev" "out" "man" "doc" ];
 
-  nativeBuildInputs = [ pkgconfig autogen autoconf automake libtool ];
+  nativeBuildInputs = [ pkgconfig ];
 
   propagatedBuildInputs = [ zlib libjpeg xz ]; #TODO: opengl support (bogus configure detection)
 
   enableParallelBuilding = true;
 
-  preConfigure = "./autogen.sh";
-
   doCheck = true; # not cross;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libunique/3.x.nix b/pkgs/development/libraries/libunique/3.x.nix
index 1a4f16046fc1..a072591ca9db 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 2bb53dd2b97f..8559731d707c 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 f9f0b2b65551..52f01229c4af 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 d26b830e249a..74c3d24560cd 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/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index 3137ac2c8f2b..eb591d4e184d 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 263796cdc783..773389e60f54 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/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index d4c859db2899..39fdb6d4eb2b 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 7d8acde8ebc8..000000000000
--- 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/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix
index 48b7acf2896c..bbbc818db63d 100644
--- a/pkgs/development/libraries/nlopt/default.nix
+++ b/pkgs/development/libraries/nlopt/default.nix
@@ -1,13 +1,8 @@
 { fetchurl, stdenv, octave ? null, cmake }:
 
-let
-
-  version = "2.5.0";
-
-in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "nlopt-${version}";
+  version = "2.5.0";
 
   src = fetchurl {
     url = "https://github.com/stevengj/nlopt/archive/v${version}.tar.gz";
diff --git a/pkgs/development/libraries/ntrack/default.nix b/pkgs/development/libraries/ntrack/default.nix
index 25e084bfb74a..a2361b0188eb 100644
--- a/pkgs/development/libraries/ntrack/default.nix
+++ b/pkgs/development/libraries/ntrack/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   name = "ntrack-${version}";
 
   src = fetchurl {
-    url = "http://launchpad.net/ntrack/main/${version}/+download/${name}.tar.gz";
+    url = "https://launchpad.net/ntrack/main/${version}/+download/${name}.tar.gz";
     sha256 = "037ig5y0mp327m0hh4pnfr3vmsk3wrxgfjy3645q4ws9vdhx807w";
   };
 
diff --git a/pkgs/development/libraries/osip/3.nix b/pkgs/development/libraries/osip/3.nix
deleted file mode 100644
index b485fa3e947b..000000000000
--- a/pkgs/development/libraries/osip/3.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{stdenv, fetchurl}:
-stdenv.mkDerivation rec {
-  version = "3.6.0";
-  src = fetchurl {
-    url = "mirror://gnu/osip/libosip2-${version}.tar.gz";
-    sha256 = "1kcndqvsyxgbhkksgydvvjw15znfq6jiznvw058d21h5fq68p8f9";
-  };
-  name = "libosip2-${version}";
-
-  meta = {
-    license = stdenv.lib.licenses.lgpl21Plus;
-    homepage = http://www.gnu.org/software/osip/;
-    description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
-    maintainers = with stdenv.lib.maintainers; [ raskin ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/osm-gps-map/default.nix b/pkgs/development/libraries/osm-gps-map/default.nix
index b7033ea4ddf6..981ec2f0a3a5 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/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 6b5a0a359715..7b1d69ed42b0 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 af4e12a014b7..61af6e7fdab8 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 6675bbf91836..625e0d3e1041 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 1e86b19ad5af..633c3d69618b 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 acfae1fc8883..53ed04527a84 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/spdlog/default.nix b/pkgs/development/libraries/spdlog/default.nix
index a96cd455f554..198c61d37b5a 100644
--- a/pkgs/development/libraries/spdlog/default.nix
+++ b/pkgs/development/libraries/spdlog/default.nix
@@ -15,7 +15,7 @@ let
 
       nativeBuildInputs = [ cmake ];
 
-      # cmakeFlags = [ "-DSPDLOG_BUILD_EXAMPLES=ON" ];
+      cmakeFlags = [ "-DSPDLOG_BUILD_EXAMPLES=OFF" ];
 
       outputs = [ "out" "doc" ];
 
@@ -35,12 +35,12 @@ let
 in
 {
   spdlog_1 = generic {
-    version = "1.1.0";
-    sha256 = "0yckz5w02v8193jhxihk9v4i8f6jafyg2a33amql0iclhk17da8f";
+    version = "1.2.1";
+    sha256 = "0gdj8arfz4r9419zbcxk9y9nv47qr7kyjjzw9m3ijgmn2pmxk88n";
   };
 
   spdlog_0 = generic {
-    version = "0.14.0";
-    sha256 = "13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q";
+    version = "0.17.0";
+    sha256 = "112kfh4fbpm5cvrmgbgz4d8s802db91mhyjpg7cwhlywffnzkwr9";
   };
 }
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index f5258c1cd6d8..bc583f732db6 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";
 
@@ -74,7 +74,7 @@ in stdenv.mkDerivation rec {
       Python bindings are available too.
     '';
 
-    homepage = http://www.spice-space.org/;
+    homepage = https://www.spice-space.org/;
     license = licenses.lgpl21;
     maintainers = [ maintainers.xeji ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index fc337f22b56f..08c92ee9ea48 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Protocol headers for the SPICE protocol";
-    homepage = http://www.spice-space.org;
+    homepage = https://www.spice-space.org/;
     license = licenses.bsd3;
     maintainers = with maintainers; [ bluescreen303 ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index e9b12d169849..dadbe57dccdd 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       VD-Interfaces. The VD-Interfaces (VDI) enable both ends of the solution to be easily
       utilized by a third-party component.
     '';
-    homepage = http://www.spice-space.org/;
+    homepage = https://www.spice-space.org/;
     license = licenses.lgpl21;
 
     maintainers = [ maintainers.bluescreen303 ];
diff --git a/pkgs/development/libraries/taglib/1.9.nix b/pkgs/development/libraries/taglib/1.9.nix
index 99892a41fa42..8992c7e75c05 100644
--- a/pkgs/development/libraries/taglib/1.9.nix
+++ b/pkgs/development/libraries/taglib/1.9.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "taglib-1.9.1";
 
   src = fetchurl {
-    url = http://taglib.github.io/releases/taglib-1.9.1.tar.gz;
+    url = https://taglib.github.io/releases/taglib-1.9.1.tar.gz;
     sha256 = "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj";
   };
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ zlib ];
 
   meta = {
-    homepage = http://developer.kde.org/~wheeler/taglib.html;
+    homepage = https://taglib.org/;
     repositories.git = git://github.com/taglib/taglib.git;
     description = "A library for reading and editing the meta-data of several popular audio formats";
     inherit (cmake.meta) platforms;
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 7c758d298357..745587609352 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, python, pkgconfig, readline, libxslt
 , docbook_xsl, docbook_xml_dtd_42, fixDarwinDylibNames
+, buildPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -10,10 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "1kk76dyav41ip7ddbbf04yfydb4jvywzi2ps0z2vla56aqkn11di";
   };
 
-  nativeBuildInputs = [ pkgconfig fixDarwinDylibNames ];
-  buildInputs = [
-    python readline libxslt docbook_xsl docbook_xml_dtd_42
-  ];
+  nativeBuildInputs = [ pkgconfig fixDarwinDylibNames python
+                        docbook_xsl docbook_xml_dtd_42 ];
+  buildInputs = [ readline libxslt ];
 
   prePatch = ''
     patchShebangs buildtools/bin/waf
@@ -23,10 +23,14 @@ stdenv.mkDerivation rec {
     "--enable-talloc-compat1"
     "--bundled-libraries=NONE"
     "--builtin-libraries=replace"
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "--cross-compile"
+    "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}"
   ];
+  configurePlatforms = [];
 
   postInstall = ''
-    ar q $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o
+    ${stdenv.cc.targetPrefix}ar q $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index ca6a4997abf4..7436da503190 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 6ce02d588a97..2b63bab0eade 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/uhttpmock/default.nix b/pkgs/development/libraries/uhttpmock/default.nix
index 377ceba59e70..6eef95309aab 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 912bcac55cd0..0bf7fb59e321 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 bb493d16a369..000000000000
--- 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 7b62de69123d..9030149fc8ad 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 4411b4e84344..e18142eb1d02 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/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index 4aff60631834..efe7214ab6a1 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "wlroots";
-  version = "0.1";
+  version = "0.2";
   meson480 = meson.overrideAttrs (oldAttrs: rec {
     name = pname + "-" + version;
     pname = "meson";
@@ -17,8 +17,11 @@ let
       inherit pname version;
       sha256 = "0qawsm6px1vca3babnqwn0hmkzsxy4w0gi345apd2qk3v0cv7ipc";
     };
-    patches = builtins.filter # Remove gir-fallback-path.patch
-      (str: !(stdenv.lib.hasSuffix "gir-fallback-path.patch" str))
+    # Remove gir-fallback-path.patch and
+    # a87496addd9160300837aa50193f4798c6f1d251.patch (already in 0.48.0):
+    patches = builtins.filter
+      (str: !(stdenv.lib.hasSuffix "gir-fallback-path.patch" str
+              || stdenv.lib.hasSuffix "a87496addd9160300837aa50193f4798c6f1d251.patch" str))
       oldAttrs.patches;
   });
 in stdenv.mkDerivation rec {
@@ -28,13 +31,13 @@ in stdenv.mkDerivation rec {
     owner = "swaywm";
     repo = "wlroots";
     rev = version;
-    sha256 = "0xfipgg2qh2xcf3a1pzx8pyh1aqpb9rijdyi0as4s6fhgy4w269c";
+    sha256 = "0gfxawjlb736xl90zfv3n6zzf5n1cacgzflqi1zq1wn7wd3j6ppv";
   };
 
-  patches = [ (fetchpatch { # TODO: Only required for version 0.1
-    url = https://github.com/swaywm/wlroots/commit/be6210cf8216c08a91e085dac0ec11d0e34fb217.patch;
-    sha256 = "0njv7mr4ark603w79cxcsln29galh87vpzsx2dzkrl1x5x4i6cj5";
-  }) ];
+  postPatch = ''
+    substituteInPlace meson.build \
+      --replace "version: '0.1.0'" "version: '${version}.0'"
+  '';
 
   # $out for the library, $bin for rootston, and $examples for the example
   # programs (in examples) AND rootston
@@ -50,7 +53,7 @@ in stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-Dlibcap=enabled" "-Dlogind=enabled" "-Dxwayland=enabled" "-Dx11-backend=enabled"
-    "-Dxcb-icccm=enabled" "-Dxcb-xkb=enabled" "-Dxcb-errors=enabled"
+    "-Dxcb-icccm=enabled" "-Dxcb-errors=enabled"
   ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/yojimbo/default.nix b/pkgs/development/libraries/yojimbo/default.nix
index 9bd20ee2607d..6305b6c03a46 100644
--- a/pkgs/development/libraries/yojimbo/default.nix
+++ b/pkgs/development/libraries/yojimbo/default.nix
@@ -15,9 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ premake5 doxygen ];
   propagatedBuildInputs = [ libsodium mbedtls ];
 
-  buildPhase = ''
-    premake5 gmake
-    make all
+  postBuild = ''
     premake5 docs
   '';
 
@@ -28,6 +26,8 @@ stdenv.mkDerivation rec {
     cp -r docs/html $out/share/doc/yojimbo
   '';
 
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "A network library for client/server games with dedicated servers";
     longDescription = ''
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index 7acbaa260a0c..b072fb1d4e93 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/ocaml-modules/csv/default.nix b/pkgs/development/ocaml-modules/csv/default.nix
index e10b21286ddf..bfddc8d1c662 100644
--- a/pkgs/development/ocaml-modules/csv/default.nix
+++ b/pkgs/development/ocaml-modules/csv/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "csv";
-	version = "2.1";
+	version = "2.2";
 
 	src = fetchurl {
 		url = "https://github.com/Chris00/ocaml-${pname}/releases/download/${version}/csv-${version}.tbz";
-		sha256 = "0cgfb6cwhwy7ypc1i3jyfz6sdnykp75aqi6kk0g1a2d81yjwzbcg";
+		sha256 = "1llwjdi14vvfy4966crapibq0djii71x47b0yxhjcl5jw4xnsaha";
 	};
 
 	meta = {
diff --git a/pkgs/development/ocaml-modules/opam-file-format/default.nix b/pkgs/development/ocaml-modules/opam-file-format/default.nix
index 1dec7e36e1c9..f61a690da190 100644
--- a/pkgs/development/ocaml-modules/opam-file-format/default.nix
+++ b/pkgs/development/ocaml-modules/opam-file-format/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ocaml, findlib }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.0-rc2";
+  version = "2.0.0";
   name = "ocaml${ocaml.version}-opam-file-format-${version}";
 
   src = fetchFromGitHub {
     owner = "ocaml";
     repo = "opam-file-format";
     rev = "${version}";
-    sha256 = "05g0pikmifmfkwyws5x82fglgsz3d317yfn6nrz7zmpn22cirvir";
+    sha256 = "0fqb99asnair0043hhc8r158d6krv5nzvymd0xwycr5y72yrp0hv";
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/ocaml-modules/visitors/default.nix b/pkgs/development/ocaml-modules/visitors/default.nix
index 506721f7bf5e..25a83fa79128 100644
--- a/pkgs/development/ocaml-modules/visitors/default.nix
+++ b/pkgs/development/ocaml-modules/visitors/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ocaml, findlib, ocamlbuild, cppo, ppx_tools, ppx_deriving, result }:
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-visitors-20171124";
+  name = "ocaml${ocaml.version}-visitors-20180513";
 
   src = fetchurl {
-    url = http://gallium.inria.fr/~fpottier/visitors/visitors-20171124.tar.gz;
-    sha256 = "04047k2v0pgwcdkgw7jk4955pgil0nj2ji0zfhmlqrdbinyfqzac";
+    url = http://gallium.inria.fr/~fpottier/visitors/visitors-20180513.tar.gz;
+    sha256 = "12j8n9fkl43sd0j78x2zqix8m1vinswl2jgwndd62vmx98f5rl1v";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild cppo ];
diff --git a/pkgs/development/perl-modules/catalyst-fix-chunked-encoding.patch b/pkgs/development/perl-modules/catalyst-fix-chunked-encoding.patch
deleted file mode 100644
index 7822128f8467..000000000000
--- a/pkgs/development/perl-modules/catalyst-fix-chunked-encoding.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -rc Catalyst-Engine-HTTP-Prefork-0.50-orig/lib/Catalyst/Engine/HTTP/Prefork/Handler.pm Catalyst-Engine-HTTP-Prefork-0.50/lib/Catalyst/Engine/HTTP/Prefork/Handler.pm
-*** Catalyst-Engine-HTTP-Prefork-0.50-orig/lib/Catalyst/Engine/HTTP/Prefork/Handler.pm	2008-03-14 18:23:47.000000000 +0100
---- Catalyst-Engine-HTTP-Prefork-0.50/lib/Catalyst/Engine/HTTP/Prefork/Handler.pm	2009-03-11 14:18:40.000000000 +0100
-***************
-*** 199,206 ****
-      
-      if ( $self->{_chunked_res} ) {
-          if ( !$self->{_chunked_done} ) {
-!             # Write the final '0' chunk
-!             syswrite STDOUT, "0$CRLF";
-          }
-          
-          delete $self->{_chunked_res};
---- 199,207 ----
-      
-      if ( $self->{_chunked_res} ) {
-          if ( !$self->{_chunked_done} ) {
-!             # Write the final '0' chunk and the CRLF that terminates
-!             # the chunked body.
-!             syswrite STDOUT, "0$CRLF$CRLF";
-          }
-          
-          delete $self->{_chunked_res};
diff --git a/pkgs/development/python-modules/affine/default.nix b/pkgs/development/python-modules/affine/default.nix
new file mode 100644
index 000000000000..5bd957ae731e
--- /dev/null
+++ b/pkgs/development/python-modules/affine/default.nix
@@ -0,0 +1,22 @@
+{ buildPythonPackage, pytest, lib, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "affine";
+  version = "2.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0j3mvcnmgjvvm0znqyf7xylq7i89zjf4dq0g8280xs6bwbl5cvih";
+  };
+
+  checkInputs = [ pytest ];
+  checkPhase = "py.test";
+
+  meta = with lib; {
+    description = "Matrices describing affine transformation of the plane";
+    license = licenses.bsd3;
+    homepage = https://github.com/sgillies/affine;
+    maintainers = with maintainers; [ mredaelli ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/astunparse/default.nix b/pkgs/development/python-modules/astunparse/default.nix
index 4c46f93b547c..703a6e68167f 100644
--- a/pkgs/development/python-modules/astunparse/default.nix
+++ b/pkgs/development/python-modules/astunparse/default.nix
@@ -1,16 +1,27 @@
-{ stdenv, fetchPypi, buildPythonPackage, six }:
+{ stdenv
+, fetchPypi
+, buildPythonPackage
+, six
+, wheel
+ }:
 
 buildPythonPackage rec {
   pname = "astunparse";
-  version =  "1.5.0";
+  version =  "1.6.1";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kc9lm2jvfcip3z8snj04dar5a9jh857a704m6lvcv4xclm3rpsm";
+    sha256 = "d27b16fb33dea0778c5a2c01801554eae0d3f8a8d6f604f15627589c3d6f11ca";
   };
-  propagatedBuildInputs = [ six ];
-  doCheck = false; # no tests
+
+  propagatedBuildInputs = [ six wheel ];
+
+  # tests not included with pypi release
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "This is a factored out version of unparse found in the Python source distribution";
+    homepage = https://github.com/simonpercivall/astunparse;
     license = licenses.bsd3;
     maintainers = with maintainers; [ jyp ];
   };
diff --git a/pkgs/development/python-modules/async_generator/default.nix b/pkgs/development/python-modules/async_generator/default.nix
index 6bf77ecd75e1..b8ec2f544762 100644
--- a/pkgs/development/python-modules/async_generator/default.nix
+++ b/pkgs/development/python-modules/async_generator/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, pytest, pytest-asyncio }:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy35, pytest, pytest-asyncio }:
 
 buildPythonPackage rec {
   pname = "async_generator";
@@ -17,6 +17,9 @@ buildPythonPackage rec {
     pytest -W error -ra -v --pyargs async_generator
   '';
 
+  # disable tests on python3.5 to avoid circular dependency with pytest-asyncio
+  doCheck = !isPy35;
+
   meta = with lib; {
     description = "Async generators and context managers for Python 3.5+";
     homepage = https://github.com/python-trio/async_generator;
diff --git a/pkgs/development/python-modules/bugzilla/default.nix b/pkgs/development/python-modules/bugzilla/default.nix
index b57fdd5625be..2e79db8d71a4 100644
--- a/pkgs/development/python-modules/bugzilla/default.nix
+++ b/pkgs/development/python-modules/bugzilla/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "bugzilla";
-  version = "1.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cairosvg/1_x.nix b/pkgs/development/python-modules/cairosvg/1_x.nix
new file mode 100644
index 000000000000..b6d40a5fdb70
--- /dev/null
+++ b/pkgs/development/python-modules/cairosvg/1_x.nix
@@ -0,0 +1,37 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, cairocffi, nose, fontconfig
+, cssselect2, defusedxml, pillow, tinycss2 }:
+
+# CairoSVG 2.x dropped support for Python 2 so offer CairoSVG 1.x as an
+# alternative
+buildPythonPackage rec {
+  pname = "CairoSVG";
+  version = "1.0.22";
+
+  # PyPI doesn't include tests so use GitHub
+  src = fetchFromGitHub {
+    owner = "Kozea";
+    repo = pname;
+    rev = version;
+    sha256 = "15z0cag5s79ghhrlgs5xc9ayvzzdr3v8151vf6k819f1drsfjfxl";
+  };
+
+  propagatedBuildInputs = [ cairocffi ];
+
+  checkInputs = [ nose fontconfig cssselect2 defusedxml pillow tinycss2 ];
+
+  # Almost all tests just fail. Not sure how to fix them.
+  doCheck = false;
+
+  # checkInputs = [ nose fontconfig cssselect2 defusedxml pillow tinycss2 ];
+
+  # checkPhase = ''
+  #   FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf nosetests .
+  # '';
+
+  meta = with stdenv.lib; {
+    homepage = https://cairosvg.org;
+    license = licenses.lgpl3;
+    description = "SVG converter based on Cairo";
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/cartopy/default.nix b/pkgs/development/python-modules/cartopy/default.nix
new file mode 100644
index 000000000000..64f649ad28ab
--- /dev/null
+++ b/pkgs/development/python-modules/cartopy/default.nix
@@ -0,0 +1,46 @@
+{ buildPythonPackage, lib, fetchPypi
+, pytest, filelock, mock, pep8
+, cython, isPy37, glibcLocales
+, six, pyshp, shapely, geos, proj, numpy
+, gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona
+}:
+
+buildPythonPackage rec {
+  pname = "cartopy";
+  version = "0.17.0";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "Cartopy";
+    sha256 = "0q9ckfi37cxj7jwnqnzij62vwcf4krccx576vv5lhvpgvplxjjs2";
+  };
+
+  checkInputs = [ filelock mock pytest pep8 ];
+
+  # several tests require network connectivity: we disable them
+  checkPhase = ''
+    export HOME=$(mktemp -d)
+    pytest --pyargs cartopy \
+      -m "not network and not natural_earth" \
+      -k "not test_nightshade_image"
+  '';
+
+  buildInputs = [ cython glibcLocales ];
+  LC_ALL = "en_US.UTF-8";
+
+  propagatedBuildInputs = [
+    # required
+    six pyshp shapely geos proj numpy
+
+    # optional
+    gdal pillow matplotlib pyepsg pykdtree scipy fiona owslib
+  ];
+
+  meta = with lib; {
+    description = "Process geospatial data to create maps and perform analyses";
+    license = licenses.lgpl3;
+    homepage = https://scitools.org.uk/cartopy/docs/latest/;
+    maintainers = with maintainers; [ mredaelli ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/configshell/default.nix b/pkgs/development/python-modules/configshell/default.nix
new file mode 100644
index 000000000000..b0a563126e22
--- /dev/null
+++ b/pkgs/development/python-modules/configshell/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchFromGitHub, buildPythonPackage, pyparsing, six }:
+
+buildPythonPackage rec {
+  pname = "configshell";
+  version = "1.1.fb25";
+
+  src = fetchFromGitHub {
+    owner = "open-iscsi";
+    repo ="${pname}-fb";
+    rev = "v${version}";
+    sha256 = "0zpr2n4105qqsklyfyr9lzl1rhxjcv0mnsl57hgk0m763w6na90h";
+  };
+
+  propagatedBuildInputs = [ pyparsing six ];
+
+  meta = with stdenv.lib; {
+    description = "A Python library for building configuration shells";
+    homepage = https://github.com/open-iscsi/configshell-fb;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/datrie/default.nix b/pkgs/development/python-modules/datrie/default.nix
index f9ac491dc81d..eb654c650778 100644
--- a/pkgs/development/python-modules/datrie/default.nix
+++ b/pkgs/development/python-modules/datrie/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonPackage, fetchPypi
-, pytest, pytestrunner, hypothesis}:
+, cython, pytest, pytestrunner, hypothesis }:
 
 buildPythonPackage rec {
   pname = "datrie";
@@ -10,8 +10,15 @@ buildPythonPackage rec {
     sha256 = "08r0if7dry2q7p34gf7ffyrlnf4bdvnprxgydlfxgfnvq8f3f4bs";
   };
 
+  nativeBuildInputs = [ cython ];
   buildInputs = [ pytest pytestrunner hypothesis ];
 
+  # recompile pxd and pyx for python37
+  # https://github.com/pytries/datrie/issues/52
+  preBuild = ''
+    ./update_c.sh
+  '';
+
   meta = with stdenv.lib; {
     description = "Super-fast, efficiently stored Trie for Python";
     homepage = "https://github.com/kmike/datrie";
diff --git a/pkgs/development/python-modules/distutils_extra/default.nix b/pkgs/development/python-modules/distutils_extra/default.nix
index 52b3b41b02bc..42e7fe6e9f4c 100644
--- a/pkgs/development/python-modules/distutils_extra/default.nix
+++ b/pkgs/development/python-modules/distutils_extra/default.nix
@@ -8,7 +8,7 @@ buildPythonPackage rec {
   version = "2.39";
 
   src = fetchurl {
-    url = "http://launchpad.net/python-distutils-extra/trunk/${version}/+download/python-${pname}-${version}.tar.gz";
+    url = "https://launchpad.net/python-distutils-extra/trunk/${version}/+download/python-${pname}-${version}.tar.gz";
     sha256 = "1bv3h2p9ffbzyddhi5sccsfwrm3i6yxzn0m06fdxkj2zsvs28gvj";
   };
 
diff --git a/pkgs/development/python-modules/dogtail/default.nix b/pkgs/development/python-modules/dogtail/default.nix
index 2d193616e5f6..804267268d78 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/effect/default.nix b/pkgs/development/python-modules/effect/default.nix
index 2738d2283395..3a026103a15c 100644
--- a/pkgs/development/python-modules/effect/default.nix
+++ b/pkgs/development/python-modules/effect/default.nix
@@ -1,5 +1,6 @@
 { buildPythonPackage
 , fetchPypi
+, isPy37
 , lib
 , six
 , attrs
@@ -25,6 +26,8 @@ buildPythonPackage rec {
   checkPhase = ''
     pytest .
   '';
+  # Tests fails on python3.7 https://github.com/python-effect/effect/issues/78
+  doCheck = !isPy37;
   meta = with lib; {
     description = "Pure effects for Python";
     homepage = https://github.com/python-effect/effect;
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 000000000000..d722ce03417a
--- /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/fs-s3fs/default.nix b/pkgs/development/python-modules/fs-s3fs/default.nix
new file mode 100644
index 000000000000..156b0fdd76e9
--- /dev/null
+++ b/pkgs/development/python-modules/fs-s3fs/default.nix
@@ -0,0 +1,23 @@
+{ buildPythonPackage, fetchPypi, lib, fs, six, boto3 }:
+
+buildPythonPackage rec {
+  pname = "fs-s3fs";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1czv67zs4sl5l3rv9l3hzn22zzzqm372lq1wlhihigir4cfyslak";
+  };
+
+  propagatedBuildInputs = [ fs six boto3 ];
+
+  # tests try to integrate an s3 bucket which can't be tested properly in an isolated environment.
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://pypi.org/project/fs-s3fs/;
+    license = licenses.mit;
+    description = "Amazon S3 filesystem for PyFilesystem2";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gentools/default.nix b/pkgs/development/python-modules/gentools/default.nix
new file mode 100644
index 000000000000..b9d272ba0e50
--- /dev/null
+++ b/pkgs/development/python-modules/gentools/default.nix
@@ -0,0 +1,31 @@
+{ buildPythonPackage, lib, fetchFromGitHub, pytest
+, typing, funcsigs, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "gentools";
+  version = "1.1.0";
+
+  # Pypi doesn't ship the tests, so we fetch directly from GitHub
+  src = fetchFromGitHub {
+    owner = "ariebovenberg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1sm6cqi7fv2k3pc68r7wvvjjz8y6cjmz8bvxgqfa4v4wxibwnwrl";
+  };
+
+  propagatedBuildInputs =
+    lib.optionals (pythonOlder "3.5") [ typing ] ++
+    lib.optionals (pythonOlder "3.4") [ funcsigs ];
+
+  checkInputs = [ pytest ];
+  checkPhase = "pytest";
+
+  meta = with lib; {
+    description = "Tools for generators, generator functions, and generator-based coroutines";
+    license = licenses.mit;
+    homepage = http://gentools.readthedocs.io/;
+    maintainers = with maintainers; [ mredaelli ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/goocalendar/default.nix b/pkgs/development/python-modules/goocalendar/default.nix
index 4324b357f29d..e746b304e8b5 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 aa8050de0885..cd8f7c0c91ba 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/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index 7c58c866f52e..ad777cf44352 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,16 +2,16 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.14.2";
+  version = "1.16.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b3fd64a5b8c1d981f6d68a331449109633710a346051c44e0f0cca1812e2b4b0";
+    sha256 = "0h0w7jlggm8nc250wwqai7lihw8mymx9jjpkl0cdmqmwbypj72vd";
   };
 
   enableParallelBuilding = true;
 
-  propagatedBuildInputs = [ grpc grpcio ];
+  propagatedBuildInputs = [ grpcio ];
 
   # no tests in the package
   doCheck = false;
diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix
index 6141e4a389c2..e170c14949d4 100644
--- a/pkgs/development/python-modules/grpcio/default.nix
+++ b/pkgs/development/python-modules/grpcio/default.nix
@@ -4,11 +4,11 @@
 with stdenv.lib;
 buildPythonPackage rec {
   pname = "grpcio";
-  version = "1.15.0";
+  version = "1.16.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lhh76kgyibgsk6c54nbzzhkskknkbvn71xvixsk0prfp8izr98m";
+    sha256 = "0am76f8r4v5kcvbar593n2c1mp25cxi67cxigjhd0rnncmk4bgs1";
   };
 
   nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isDarwin darwin.cctools;
diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix
index 8cbc08dbbfd0..2b9703452dc7 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
@@ -28,6 +28,17 @@ in buildPythonPackage rec {
       url = https://bugzilla.gnome.org/attachment.cgi?id=371989;
       sha256 = "1k46nvw175c1wvkqnx783i9d4w9vn431spcl48jb3y224jj3va08";
     })
+    # Fixes `from gi.repository import Gst` when gst-python's site-package is in
+    # PYTHONPATH
+    (fetchurl {
+      url = https://gitlab.freedesktop.org/gstreamer/gst-python/commit/d64bbc1e0c3c948c148f505cc5f856ce56732880.diff;
+      sha256 = "1n9pxmcl1x491mp47avpcw2a6n71lm0haz6mfas168prkgsk8q3r";
+    })
+    # Fixes python2 build from the above changes
+    (fetchurl {
+      url = https://gitlab.freedesktop.org/gstreamer/gst-python/commit/f79ac2d1434d7ba9717f3e943cfdc76e121eb5dd.diff;
+      sha256 = "17a164b0v36g0kwiqdlkjx6g0pjhcs6ilizck7iky8bgjnmiypm1";
+    })
   ];
 
   # TODO: First python_dep in meson.build needs to be removed
@@ -35,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 40115f398c62..7f0ba451af67 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/hg-git/default.nix b/pkgs/development/python-modules/hg-git/default.nix
index 2b32afc2f824..452b946a0422 100644
--- a/pkgs/development/python-modules/hg-git/default.nix
+++ b/pkgs/development/python-modules/hg-git/default.nix
@@ -3,20 +3,29 @@
 , fetchPypi
 , dulwich
 , isPy3k
+, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "hg-git";
-  version = "0.8.11";
+  version = "0.8.12";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08kw1sj3sq1q1571hwkc51w20ks9ysmlg93pcnmd6gr66bz02dyn";
+    sha256 = "13hbm0ki6s88r6p65ibvrbxnskinzdz0m9gsshb8s571p91ymfjn";
   };
 
   propagatedBuildInputs = [ dulwich ];
 
+  # Needs patch to work with Mercurial 4.8
+  # https://bitbucket.org/durin42/hg-git/issues/264/unexpected-keyword-argument-createopts-hg
+  patches =
+    fetchpatch {
+      url = "https://bitbucket.org/rsalmaso/hg-git/commits/a778506fd4be0bf1afa75755f6ee9260fa234a0f/raw";
+      sha256 = "12r4qzbc5xcqwv0kvf8g4wjji7n45421zkbf6i75vyi4nl6n4j15";
+    };
+
   meta = with stdenv.lib; {
     description = "Push and pull from a Git server using Mercurial";
     homepage = http://hg-git.github.com/;
diff --git a/pkgs/development/python-modules/hopcroftkarp/default.nix b/pkgs/development/python-modules/hopcroftkarp/default.nix
new file mode 100644
index 000000000000..4acf05b41426
--- /dev/null
+++ b/pkgs/development/python-modules/hopcroftkarp/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "hopcroftkarp";
+  version = "1.2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "cc6fc7ad348bbe5c9451f8116845c46ae26290c92b2dd14690aae2d55ba5e3a6";
+  };
+
+  # tests fail due to bad package name
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Implementation of HopcroftKarp's algorithm";
+    homepage = https://github.com/sofiat-olaosebikan/hopcroftkarp;
+    license = licenses.gpl1;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/manuel/default.nix b/pkgs/development/python-modules/manuel/default.nix
index 1030ee215562..f9fa3a090ebe 100644
--- a/pkgs/development/python-modules/manuel/default.nix
+++ b/pkgs/development/python-modules/manuel/default.nix
@@ -7,14 +7,15 @@
 
 buildPythonPackage rec {
   pname = "manuel";
-  version = "1.8.0";
+  version = "1.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1diyj6a8bvz2cdf9m0g2bbx9z2yjjnn3ylbg1zinpcjj6vldfx59";
+    sha256 = "1bdzay7j70fly5fy6wbdi8fbrxjrrlxnxnw226rwry1c8a351rpy";
   };
 
-  propagatedBuildInputs = [ six zope_testing ];
+  propagatedBuildInputs = [ six ];
+  checkInputs = [ zope_testing ];
 
   meta = with stdenv.lib; {
     description = "A documentation builder";
diff --git a/pkgs/development/python-modules/matchpy/default.nix b/pkgs/development/python-modules/matchpy/default.nix
new file mode 100644
index 000000000000..dcac40b873ca
--- /dev/null
+++ b/pkgs/development/python-modules/matchpy/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, hopcroftkarp
+, multiset
+, pytest
+, pytestrunner
+, hypothesis
+, setuptools_scm
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "matchpy";
+  version = "0.4.6";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "eefa1e50a10e1255db61bc2522a6768ad0701f8854859f293ebaa442286faadd";
+  };
+
+  buildInputs = [ setuptools_scm pytestrunner ];
+  checkInputs = [ pytest hypothesis ];
+  propagatedBuildInputs = [ hopcroftkarp multiset ];
+
+  meta = with lib; {
+    description = "A library for pattern matching on symbolic expressions";
+    homepage = https://github.com/HPAC/matchpy;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/matplotlib/2.nix b/pkgs/development/python-modules/matplotlib/2.nix
index f073e7baa4ed..dec34c64f0a5 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 2cd7557bac7c..718eb2de4252 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/multiset/default.nix b/pkgs/development/python-modules/multiset/default.nix
new file mode 100644
index 000000000000..5cc159dc2059
--- /dev/null
+++ b/pkgs/development/python-modules/multiset/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools_scm
+, pytestrunner
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "multiset";
+  version = "2.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4801569c08bfcecfe7b0927b17f079c90f8607aca8fecaf42ded92b737162bc7";
+  };
+
+  buildInputs = [ setuptools_scm pytestrunner ];
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    description = "An implementation of a multiset";
+    homepage = https://github.com/wheerd/multiset;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/nbval/default.nix b/pkgs/development/python-modules/nbval/default.nix
new file mode 100644
index 000000000000..c9ab72894efe
--- /dev/null
+++ b/pkgs/development/python-modules/nbval/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, coverage
+, ipykernel
+, jupyter_client
+, nbformat
+, pytest
+, six
+, glibcLocales
+, matplotlib
+, sympy
+, pytestcov
+}:
+
+buildPythonPackage rec {
+  pname = "nbval";
+  version = "0.9.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3f18b87af4e94ccd073263dd58cd3eebabe9f5e4d6ab535b39d3af64811c7eda";
+  };
+
+  LC_ALL = "en_US.UTF-8";
+
+  buildInputs = [ glibcLocales ];
+  checkInputs = [ matplotlib sympy pytestcov ];
+  propagatedBuildInputs = [ coverage ipykernel jupyter_client nbformat pytest six ];
+
+  checkPhase = ''
+    pytest tests --current-env --ignore tests/test_timeouts.py
+  '';
+
+  meta = with lib; {
+    description = "A py.test plugin to validate Jupyter notebooks";
+    homepage = https://github.com/computationalmodelling/nbval;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/neovim_gui/default.nix b/pkgs/development/python-modules/neovim_gui/default.nix
index da3a0591f7c3..e6d36a370890 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/netaddr/default.nix b/pkgs/development/python-modules/netaddr/default.nix
index eed3d758054b..ac236a775543 100644
--- a/pkgs/development/python-modules/netaddr/default.nix
+++ b/pkgs/development/python-modules/netaddr/default.nix
@@ -18,7 +18,10 @@ buildPythonPackage rec {
   buildInputs = [ pkgs.glibcLocales pytest ];
 
   checkPhase = ''
-    py.test netaddr/tests
+    # fails on python3.7: https://github.com/drkjam/netaddr/issues/182
+    py.test \
+      -k 'not test_ip_splitter_remove_prefix_larger_than_input_range' \
+      netaddr/tests
   '';
 
   patches = [
diff --git a/pkgs/development/python-modules/nose-focus/default.nix b/pkgs/development/python-modules/nose-focus/default.nix
new file mode 100644
index 000000000000..ef86a35b3041
--- /dev/null
+++ b/pkgs/development/python-modules/nose-focus/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, six, nose, nose-of-yeti
+, nose-pattern-exclude, which }:
+
+buildPythonPackage rec {
+  pname = "nose-focus";
+  version = "0.1.3";
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ nose nose-of-yeti nose-pattern-exclude which ];
+
+  # PyPI doesn't contain tests so let's use GitHub. See:
+  # https://github.com/delfick/nose-focus/issues/4
+  #
+  # However, the versions aren't tagged on GitHub so need to use a manually
+  # checked revision. See: https://github.com/delfick/nose-focus/issues/5
+  src = fetchFromGitHub {
+    owner = "delfick";
+    repo = pname;
+    rev = "4dac785ba07ed6e1df61b0fe2854685eef3bd115";
+    sha256 = "0gpd4j4433dc5ifh31w08c3bx862md0qm1ix6aam1rz4ayxpq51f";
+  };
+
+  checkPhase = ''
+    patchShebangs test.sh
+    ./test.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Decorator and plugin to make nose focus on specific tests";
+    homepage = https://nose-focus.readthedocs.io/en/latest/;
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/nose-of-yeti/default.nix b/pkgs/development/python-modules/nose-of-yeti/default.nix
new file mode 100644
index 000000000000..7a783da31177
--- /dev/null
+++ b/pkgs/development/python-modules/nose-of-yeti/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, six, nose, fudge, should-dsl }:
+
+buildPythonPackage rec {
+  pname = "nose-of-yeti";
+  version = "1.8";
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ nose fudge should-dsl ];
+
+  # PyPI doesn't contain tests so let's use GitHub.
+  src = fetchFromGitHub {
+    owner = "delfick";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1pq9bf47k0csv41vdh2g6n336p3pd11q91hj5ypk0ls3nj756gbx";
+  };
+
+  checkPhase = ''
+    patchShebangs test.sh
+    ./test.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Nose plugin providing BDD dsl for python";
+    homepage = https://github.com/delfick/nose-of-yeti;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/nose-pattern-exclude/default.nix b/pkgs/development/python-modules/nose-pattern-exclude/default.nix
new file mode 100644
index 000000000000..24d74b938afb
--- /dev/null
+++ b/pkgs/development/python-modules/nose-pattern-exclude/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, nose }:
+
+buildPythonPackage rec {
+  pname = "nose-pattern-exclude";
+  version = "0.1.3";
+
+  propagatedBuildInputs = [ nose ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0apzxx8lavsdlxlpaxqw1snx5p7q8v5dfbip6v32f9pj2vyain1i";
+  };
+
+  # There are no tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Exclude specific files and directories from nosetests runs";
+    homepage = https://github.com/jakubroztocil/nose-pattern-exclude;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/notify/default.nix b/pkgs/development/python-modules/notify/default.nix
index f87424b439c6..5dd953808910 100644
--- a/pkgs/development/python-modules/notify/default.nix
+++ b/pkgs/development/python-modules/notify/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   patches = stdenv.lib.singleton (fetchurl {
     name = "libnotify07.patch";
-    url = "http://src.fedoraproject.org/cgit/notify-python.git/plain/"
+    url = "https://src.fedoraproject.org/cgit/notify-python.git/plain/"
         + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c";
     sha256 = "1lqdli13mfb59xxbq4rbq1f0znh6xr17ljjhwmzqb79jl3dig12z";
   });
diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix
index 6e70f90e3705..a015a1247385 100644
--- a/pkgs/development/python-modules/nvchecker/default.nix
+++ b/pkgs/development/python-modules/nvchecker/default.nix
@@ -1,16 +1,15 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytest, setuptools, structlog, pytest-asyncio, pytest_xdist, flaky, tornado }:
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytest, setuptools, structlog, pytest-asyncio, pytest_xdist, flaky, tornado, pycurl }:
 
 buildPythonPackage rec {
   pname = "nvchecker";
-  version = "1.1";
+  version = "1.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1nk9ff26s5r6v5v7w4l9110qi5kmhllvwk5kh20zyyhdvxv72m3i";
+    sha256 = "19qc2wwkdr701mx94r75ayq5h2jz3q620hcqaj2ng9qdgxm90940";
   };
 
-  # tornado is not present in the tarball setup.py but is required by the executable
-  propagatedBuildInputs = [ setuptools structlog tornado ];
+  propagatedBuildInputs = [ setuptools structlog tornado pycurl ];
   checkInputs = [ pytest pytest-asyncio pytest_xdist flaky ];
 
   # Disable tests for now, because our version of pytest seems to be too new
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 02427a524257..839e7f1e8192 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -87,6 +87,8 @@ in buildPythonPackage rec {
     "test_clipboard"
   ]);
 
+  doCheck = !stdenv.isAarch64; # upstream doesn't test this architecture
+
   checkPhase = ''
     runHook preCheck
   ''
diff --git a/pkgs/development/python-modules/perf/default.nix b/pkgs/development/python-modules/perf/default.nix
new file mode 100644
index 000000000000..558886ce6228
--- /dev/null
+++ b/pkgs/development/python-modules/perf/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, statistics
+, pythonOlder
+, nose
+, psutil
+, contextlib2
+, mock
+, unittest2
+, isPy27
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "perf";
+  version = "1.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5aae76e58bd3edd0c50adcc7c16926ebb9ed8c0e5058b435a30d58c6bb0394a8";
+  };
+
+  checkInputs = [ nose psutil ] ++
+    lib.optionals isPy27 [ contextlib2 mock unittest2 ];
+  propagatedBuildInputs = [ six ] ++
+    lib.optionals (pythonOlder "3.4") [ statistics ];
+
+  # tests not included in pypi repository
+  doCheck = false;
+
+  checkPhase = ''
+    ${python.interpreter} -m nose
+  '';
+
+  meta = with lib; {
+    description = "Python module to generate and modify perf";
+    homepage = https://github.com/vstinner/perf;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/piexif/default.nix b/pkgs/development/python-modules/piexif/default.nix
index b5460e8b6080..0de96a3f585e 100644
--- a/pkgs/development/python-modules/piexif/default.nix
+++ b/pkgs/development/python-modules/piexif/default.nix
@@ -2,22 +2,15 @@
 
 buildPythonPackage rec {
   pname = "piexif";
-  version = "1.0.13";
+  version = "1.1.2";
 
-  # pillow needed for unit tests
-  buildInputs = [ pillow ];
-
-  postPatch = ''
-    # incompatibility with pillow => 4.2.0
-    # has been resolved in https://github.com/hMatoba/Piexif/commit/c3a8272f5e6418f223b25f6486d8ddda201bbdf1
-    # remove this in the next version
-    sed -i -e 's/RGBA/RGB/' tests/s_test.py
-  '';
+  # Pillow needed for unit tests
+  checkInputs = [ pillow ];
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1d3dde03bd6298393645bc11d585b67a6ea98fd7e9e1aded6d5d6ec3e4cfbdda";
+    sha256 = "0dj6wiw4mk65zn7p0qpghra39mf88m3ph2xn7ff9jvasgczrgkb0";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index e2fb97d20d48..0b226aa8547e 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "3.3.0";
+  version = "3.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bsjk4crf9p08lmgmiibmk8w8kmlrfadyly5l12zz1d330acijl1";
+    sha256 = "1pq5k1b4gwdbdsb0alzgmr54zjvzf0csw5lq8s61zh5jnhfgn23y";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/preggy/default.nix b/pkgs/development/python-modules/preggy/default.nix
new file mode 100644
index 000000000000..b88366de88fa
--- /dev/null
+++ b/pkgs/development/python-modules/preggy/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, six, unidecode, nose, yanc }:
+
+buildPythonPackage rec {
+  pname = "preggy";
+  version = "1.4.2";
+
+  propagatedBuildInputs = [ six unidecode ];
+  checkInputs = [ nose yanc ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0g4ifjh01dkmdzs4621ahk8hpkngid1xxhl51jvzy4h4li4590hw";
+  };
+
+  checkPhase = ''
+    nosetests .
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Assertion library for Python";
+    homepage = http://heynemann.github.io/preggy/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index 9059080c9196..a9d20983a55c 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python, buildPythonPackage
+{ stdenv, fetchpatch, python, buildPythonPackage
 , protobuf, google_apputils, pyext, libcxx
 , disabled, doCheck ? true }:
 
@@ -16,6 +16,15 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ protobuf google_apputils ];
   buildInputs = [ google_apputils pyext ];
 
+  patches = [
+    # Python 3.7 compatibility (remove when protobuf 3.7 is released)
+    (fetchpatch {
+      url = "https://github.com/protocolbuffers/protobuf/commit/0a59054c30e4f0ba10f10acfc1d7f3814c63e1a7.patch";
+      sha256 = "09hw22y3423v8bbmc9xm07znwdxfbya6rp78d4zqw6fisdvjkqf1";
+      stripLen = 1;
+    })
+  ];
+
   prePatch = ''
     while [ ! -d python ]; do
       cd *
diff --git a/pkgs/development/python-modules/py3exiv2/default.nix b/pkgs/development/python-modules/py3exiv2/default.nix
index 647fbdd872ce..4c6ca0bad338 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 784533105d6b..8b0619c5bc5f 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/py4j/default.nix b/pkgs/development/python-modules/py4j/default.nix
index 48a14399e898..a442dfa097b9 100644
--- a/pkgs/development/python-modules/py4j/default.nix
+++ b/pkgs/development/python-modules/py4j/default.nix
@@ -3,12 +3,12 @@
 buildPythonPackage rec {
   pname = "py4j";
 
-  version = "0.10.7";
+  version = "0.10.8.1";
 
   src = fetchPypi {
     inherit pname version;
     extension= "zip";
-    sha256 = "721189616b3a7d28212dfb2e7c6a1dd5147b03105f1fc37ff2432acd0e863fa5";
+    sha256 = "0x52rjn2s44mbpk9p497p3yba9xnpl6hcaiacklppwqcd8avnac3";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/pyatspi/default.nix b/pkgs/development/python-modules/pyatspi/default.nix
index 5960551abc72..539e16abe57d 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/pyblock/default.nix b/pkgs/development/python-modules/pyblock/default.nix
index 1be0ad1d4c73..5027619d74c8 100644
--- a/pkgs/development/python-modules/pyblock/default.nix
+++ b/pkgs/development/python-modules/pyblock/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   md5_path = "f6d33a8362dee358517d0a9e2ebdd044";
 
   src = pkgs.fetchurl rec {
-    url = "http://src.fedoraproject.org/repo/pkgs/python-pyblock/"
+    url = "https://src.fedoraproject.org/repo/pkgs/python-pyblock/"
         + "${name}.tar.bz2/${md5_path}/${name}.tar.bz2";
     sha256 = "f6cef88969300a6564498557eeea1d8da58acceae238077852ff261a2cb1d815";
   };
diff --git a/pkgs/development/python-modules/pyepsg/default.nix b/pkgs/development/python-modules/pyepsg/default.nix
new file mode 100644
index 000000000000..dd8c987401d1
--- /dev/null
+++ b/pkgs/development/python-modules/pyepsg/default.nix
@@ -0,0 +1,23 @@
+{ buildPythonPackage, lib, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "pyepsg";
+  version = "0.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ng0k140kzq3xcffi4vy10py4cmwzfy8anccysw3vgn1x30ghzjr";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Simple Python interface to epsg.io";
+    license = licenses.lgpl3;
+    homepage = https://pyepsg.readthedocs.io/en/latest/;
+    maintainers = with maintainers; [ mredaelli ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyexiv2/default.nix b/pkgs/development/python-modules/pyexiv2/default.nix
index 5b98a61735e2..cca8b552de1e 100644
--- a/pkgs/development/python-modules/pyexiv2/default.nix
+++ b/pkgs/development/python-modules/pyexiv2/default.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
   format = "other";
 
   src = fetchurl {
-    url = "http://launchpad.net/pyexiv2/0.3.x/0.3.2/+download/${pname}-${version}.tar.bz2";
+    url = "https://launchpad.net/pyexiv2/0.3.x/0.3.2/+download/${pname}-${version}.tar.bz2";
     sha256 = "09r1ga6kj5cnmrldpkqzvdhh7xi7aad9g4fbcr1gawgsd9y13g0a";
   };
 
diff --git a/pkgs/development/python-modules/pyftpdlib/default.nix b/pkgs/development/python-modules/pyftpdlib/default.nix
index b8f483d3a1dc..254edfb86937 100644
--- a/pkgs/development/python-modules/pyftpdlib/default.nix
+++ b/pkgs/development/python-modules/pyftpdlib/default.nix
@@ -20,9 +20,9 @@ buildPythonPackage rec {
   checkInputs = [ mock psutil ];
   propagatedBuildInputs = [ pyopenssl pysendfile ];
 
-  checkPhase = ''
-    ${python.interpreter} pyftpdlib/test/runner.py
-  '';
+  # impure filesystem-related tests cause timeouts
+  # on Hydra: https://hydra.nixos.org/build/84374861
+  doCheck = false;
 
   meta = with stdenv.lib; {
     homepage = https://github.com/giampaolo/pyftpdlib/;
diff --git a/pkgs/development/python-modules/pygdbmi/default.nix b/pkgs/development/python-modules/pygdbmi/default.nix
new file mode 100644
index 000000000000..fc19ab26573a
--- /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 c6264f08de86..acc8ee713117 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/pykickstart/default.nix b/pkgs/development/python-modules/pykickstart/default.nix
index 98b26387d01d..bc06a10f9732 100644
--- a/pkgs/development/python-modules/pykickstart/default.nix
+++ b/pkgs/development/python-modules/pykickstart/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
   md5_path = "d249f60aa89b1b4facd63f776925116d";
 
   src = fetchurl rec {
-    url = "http://src.fedoraproject.org/repo/pkgs/pykickstart/"
+    url = "https://src.fedoraproject.org/repo/pkgs/pykickstart/"
     + "${pname}-${version}.tar.gz/${md5_path}/${pname}-${version}.tar.gz";
     sha256 = "e0d0f98ac4c5607e6a48d5c1fba2d50cc804de1081043f9da68cbfc69cad957a";
   };
diff --git a/pkgs/development/python-modules/pyproj/default.nix b/pkgs/development/python-modules/pyproj/default.nix
index a16819cab348..f08625f62b6d 100644
--- a/pkgs/development/python-modules/pyproj/default.nix
+++ b/pkgs/development/python-modules/pyproj/default.nix
@@ -1,21 +1,26 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , python
 , nose2
+, cython
 , proj ? null
 }:
 
 buildPythonPackage (rec {
   pname = "pyproj";
-  version = "1.9.5.1";
+  version = "unstable-2018-11-13";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "53fa54c8fa8a1dfcd6af4bf09ce1aae5d4d949da63b90570ac5ec849efaf3ea8";
+  src = fetchFromGitHub {
+    owner = "jswhit";
+    repo = pname;
+    rev = "78540f5ff40da92160f80860416c91ee74b7643c";
+    sha256 = "1vq5smxmpdjxialxxglsfh48wx8kaq9sc5mqqxn4fgv1r5n1m3n9";
   };
 
-  buildInputs = [ nose2 ];
+  buildInputs = [ cython ];
+
+  checkInputs = [ nose2 ];
 
   checkPhase = ''
     runHook preCheck
diff --git a/pkgs/development/python-modules/pyres/default.nix b/pkgs/development/python-modules/pyres/default.nix
new file mode 100644
index 000000000000..2ea6043c4279
--- /dev/null
+++ b/pkgs/development/python-modules/pyres/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchPypi, buildPythonPackage, fetchFromGitHub, simplejson, redis, setproctitle, nose, pkgs }:
+
+let
+
+  # the requirements of `pyres` support Redis 3.x (due to a missing upper-bound),
+  # but it doesn't support Redis 3.x.
+  redis' = redis.overridePythonAttrs (old: rec {
+    pname = "redis";
+    version = "2.10.6";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52";
+    };
+  });
+
+in
+
+buildPythonPackage rec {
+  pname = "pyres";
+  version = "1.5";
+
+  # ps is used in Worker.worker_pids method
+  propagatedBuildInputs = [ simplejson setproctitle redis' pkgs.ps ];
+  checkInputs = [ nose pkgs.redis ];
+
+  # PyPI tarball doesn't contain tests so let's use GitHub
+  src = fetchFromGitHub {
+    owner = "binarydud";
+    repo = pname;
+    rev = version;
+    sha256 = "1rkpv7gbjxl9h9g7kncmsrgmi77l7pgfq8d7dbnsr3ia2jmjqb8y";
+  };
+
+  checkPhase = ''
+    redis-server &
+    nosetests .
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Python resque clone";
+    homepage = https://github.com/binarydud/pyres;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyssim/default.nix b/pkgs/development/python-modules/pyssim/default.nix
new file mode 100644
index 000000000000..38dddda9b2e5
--- /dev/null
+++ b/pkgs/development/python-modules/pyssim/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, numpy, scipy, pillow }:
+
+buildPythonPackage rec {
+  pname = "pyssim";
+  version = "0.4";
+
+  propagatedBuildInputs = [ numpy scipy pillow ];
+
+  # PyPI tarball doesn't contain test images so let's use GitHub
+  src = fetchFromGitHub {
+    owner = "jterrace";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0rnj3xdhma1fc0fg0jjsdy74ar0hgr3w8kygbnijqjdms7m3asqm";
+  };
+
+  # Tests are copied from .travis.yml
+  checkPhase = ''
+    $out/bin/pyssim test-images/test1-1.png test-images/test1-1.png | grep 1
+    $out/bin/pyssim test-images/test1-1.png test-images/test1-2.png | grep 0.998
+    $out/bin/pyssim test-images/test1-1.png "test-images/*" | grep -E " 1| 0.998| 0.672| 0.648" | wc -l | grep 4
+    $out/bin/pyssim --cw --width 128 --height 128 test-images/test1-1.png test-images/test1-1.png | grep 1
+    $out/bin/pyssim --cw --width 128 --height 128 test-images/test3-orig.jpg test-images/test3-rot.jpg | grep 0.938
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Module for computing Structured Similarity Image Metric (SSIM) in Python";
+    homepage = https://github.com/jterrace/pyssim;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-asyncio/default.nix b/pkgs/development/python-modules/pytest-asyncio/default.nix
index 6b4ce6f61233..24602c522603 100644
--- a/pkgs/development/python-modules/pytest-asyncio/default.nix
+++ b/pkgs/development/python-modules/pytest-asyncio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytest, isPy3k }:
+{ stdenv, buildPythonPackage, fetchPypi, pytest, isPy3k, isPy35, async_generator }:
 buildPythonPackage rec {
   pname = "pytest-asyncio";
   version = "0.9.0";
@@ -10,7 +10,8 @@ buildPythonPackage rec {
     sha256 = "fbd92c067c16111174a1286bfb253660f1e564e5146b39eeed1133315cf2c2cf";
   };
 
-  buildInputs = [ pytest ];
+  buildInputs = [ pytest ]
+    ++ stdenv.lib.optionals isPy35 [ async_generator ];
 
   # No tests in archive
   doCheck = false;
diff --git a/pkgs/development/python-modules/pytest-mypy/default.nix b/pkgs/development/python-modules/pytest-mypy/default.nix
new file mode 100644
index 000000000000..09d79b337919
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-mypy/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, mypy
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-mypy";
+  version = "0.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "acc653210e7d8d5c72845a5248f00fd33f4f3379ca13fe56cfc7b749b5655c3e";
+  };
+
+  propagatedBuildInputs = [ pytest mypy ];
+
+  meta = with lib; {
+    description = "Mypy static type checker plugin for Pytest";
+    homepage = https://github.com/dbader/pytest-mypy;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
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 000000000000..1ea6dd89f2a4
--- /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-mnist/default.nix b/pkgs/development/python-modules/python-mnist/default.nix
new file mode 100644
index 000000000000..67cb4eae2511
--- /dev/null
+++ b/pkgs/development/python-modules/python-mnist/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "python-mnist";
+  version = "0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5d59a44335eccb4b310efb2ebb76f44e8588a1732cfb4923f4a502b61d8b653a";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sorki/python-mnist;
+    description = "Simple MNIST data parser written in Python";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
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 000000000000..274adb9d4241
--- /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/pyupdate/default.nix b/pkgs/development/python-modules/pyupdate/default.nix
new file mode 100644
index 000000000000..37fe5a053696
--- /dev/null
+++ b/pkgs/development/python-modules/pyupdate/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, requests }:
+
+buildPythonPackage rec {
+  pname = "pyupdate";
+  version = "0.2.16";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1p4zpjvwy6h9kr0dp80z5k04s14r9f75jg9481gpx8ygxj0l29bi";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # As of 0.2.16, pyupdate is intimately tied to Home Assistant which is py3 only
+  disabled = !isPy3k;
+
+  # no tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    # This description is terrible, but it's what upstream uses.
+    description = "Package to update stuff";
+    homepage = https://github.com/ludeeus/pyupdate;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix
new file mode 100644
index 000000000000..562d8aac5277
--- /dev/null
+++ b/pkgs/development/python-modules/rasterio/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage, lib, fetchFromGitHub
+, cython
+, numpy, affine, attrs, cligj, click-plugins, snuggs, gdal
+, pytest, pytestcov, packaging, hypothesis, boto3
+}:
+
+buildPythonPackage rec {
+  pname = "rasterio";
+  version = "1.0.10";
+
+  # Pypi doesn't ship the tests, so we fetch directly from GitHub
+  src = fetchFromGitHub {
+    owner = "mapbox";
+    repo = "rasterio";
+    rev = version;
+    sha256 = "0gnck9y3n31nnazlrw54swab8wql9qjx5r5x9r7hrmzy72xlzjqq";
+  };
+
+  checkInputs = [ boto3 pytest pytestcov packaging hypothesis ];
+  buildInputs = [ cython ];
+  propagatedBuildInputs = [ gdal numpy attrs affine cligj click-plugins snuggs ];
+
+  meta = with lib; {
+    description = "Python package to read and write geospatial raster data";
+    license = licenses.bsd3;
+    homepage = https://rasterio.readthedocs.io/en/latest/;
+    maintainers = with maintainers; [ mredaelli ];
+  };
+}
diff --git a/pkgs/development/python-modules/remotecv/default.nix b/pkgs/development/python-modules/remotecv/default.nix
new file mode 100644
index 000000000000..2102cf064250
--- /dev/null
+++ b/pkgs/development/python-modules/remotecv/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, pillow, argparse, pyres, nose
+, preggy, numpy, yanc, nose-focus, mock, opencv }:
+
+buildPythonPackage rec {
+  pname = "remotecv";
+  version = "2.2.2";
+
+  propagatedBuildInputs = [ pillow argparse pyres ];
+
+  checkInputs = [ nose preggy numpy yanc nose-focus mock opencv ];
+
+  # PyPI tarball doesn't contain tests so let's use GitHub
+  src = fetchFromGitHub {
+    owner = "thumbor";
+    repo = pname;
+    rev = version;
+    sha256 = "0slalp1x626ajy2cbdfifhxf0ffzckqdz6siqsqr6s03hrl877hy";
+  };
+
+  # Remove unnecessary argparse dependency and some seemingly unnecessary
+  # version upper bounds because nixpkgs contains (or could contain) newer
+  # versions.
+  # See: https://github.com/thumbor/remotecv/issues/15
+  patches = [
+    ./install_requires.patch
+  ];
+
+  checkPhase = ''
+    nosetests --with-yanc -s tests/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenCV worker for facial and feature recognition";
+    homepage = https://github.com/thumbor/remotecv/wiki;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/remotecv/install_requires.patch b/pkgs/development/python-modules/remotecv/install_requires.patch
new file mode 100644
index 000000000000..37203128486e
--- /dev/null
+++ b/pkgs/development/python-modules/remotecv/install_requires.patch
@@ -0,0 +1,16 @@
+diff --git a/setup.py b/setup.py
+index 70f765c..8003cda 100644
+--- a/setup.py
++++ b/setup.py
+@@ -53,9 +53,8 @@ remotecv is an OpenCV worker for facial and feature recognition
+     },
+ 
+     install_requires=[
+-        "argparse>=1.2.1,<1.3.0",
+-        "pyres>=1.5,<1.6",
+-        "Pillow>=4.3.0,<5.2.0",
++        "pyres>=1.5",
++        "Pillow>=4.3.0",
+     ],
+ 
+     entry_points={
diff --git a/pkgs/development/python-modules/rope/default.nix b/pkgs/development/python-modules/rope/default.nix
index e5164f27f56f..21281d341cce 100644
--- a/pkgs/development/python-modules/rope/default.nix
+++ b/pkgs/development/python-modules/rope/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, nose }:
 
 buildPythonPackage rec {
   pname = "rope";
@@ -9,6 +9,12 @@ buildPythonPackage rec {
     sha256 = "a108c445e1cd897fe19272ab7877d172e7faf3d4148c80e7d20faba42ea8f7b2";
   };
 
+  checkInputs = [ nose ];
+  checkPhase = ''
+    # tracked upstream here https://github.com/python-rope/rope/issues/247
+    NOSE_IGNORE_FILES=type_hinting_test.py nosetests ropetest
+  '';
+
   meta = with stdenv.lib; {
     description = "Python refactoring library";
     homepage = https://github.com/python-rope/rope;
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index 61447e740265..cefd155353ac 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -1,10 +1,13 @@
 { lib
+, python
 , buildPythonPackage
 , fetchPypi
 , isPyPy
 , isPy27
 , readline
 , R
+, rWrapper
+, rPackages
 , pcre
 , lzma
 , bzip2
@@ -13,7 +16,11 @@
 , singledispatch
 , six
 , jinja2
+, pytz
+, numpy
 , pytest
+, mock
+, extraRPackages ? []
 }:
 
 buildPythonPackage rec {
@@ -38,18 +45,54 @@ buildPythonPackage rec {
       bzip2
       zlib
       icu
+    ] ++ (with rPackages; [
+      # packages expected by the test framework
+      ggplot2
+      dplyr
+      RSQLite
+      broom
+      DBI
+      dbplyr
+      hexbin
+      lme4
+      tidyr
+    ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
+
+    patches = [
+      # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
+      # This patch sets R_LIBS_SITE when rpy2 is imported.
+      ./r-libs-site.patch
     ];
+    postPatch = ''
+      substituteInPlace rpy/rinterface/__init__.py --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+    '';
+
     propagatedBuildInputs = [
       singledispatch
       six
       jinja2
+      pytz
+      numpy
     ];
-    checkInputs = [ pytest ];
-    # Tests fail with `assert not _relpath.startswith('..'), "Path must be within the project"`
-    # in the unittest `loader.py`. I don't know what causes this.
+
+    checkInputs = [
+      pytest
+      mock
+    ];
+    # One remaining test failure caused by different unicode encoding.
+    # https://bitbucket.org/rpy2/rpy2/issues/488
     doCheck = false;
-    # without this tests fail when looking for libreadline.so
-    LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;
+    checkPhase = ''
+      ${python.interpreter} -m 'rpy2.tests'
+    '';
+
+    # For some reason libreadline.so is not found. Curiously `ldd _rinterface.so | grep readline` shows two readline entries:
+    # libreadline.so.6 => not found
+    # libreadline.so.6 => /nix/store/z2zhmrg6jcrn5iq2779mav0nnq4vm2q6-readline-6.3p08/lib/libreadline.so.6 (0x00007f333ac43000)
+    # There must be a better way to fix this, but I don't know it.
+    postFixup = ''
+      patchelf --add-needed ${readline}/lib/libreadline.so "$out/${python.sitePackages}/rpy2/rinterface/"_rinterface*.so
+    '';
 
     meta = {
       homepage = http://rpy.sourceforge.net/rpy2;
diff --git a/pkgs/development/python-modules/rpy2/r-libs-site.patch b/pkgs/development/python-modules/rpy2/r-libs-site.patch
new file mode 100644
index 000000000000..a55b6038bb4b
--- /dev/null
+++ b/pkgs/development/python-modules/rpy2/r-libs-site.patch
@@ -0,0 +1,20 @@
+diff --git a/rpy/rinterface/__init__.py b/rpy/rinterface/__init__.py
+index 9362e57..1af258e 100644
+--- a/rpy/rinterface/__init__.py
++++ b/rpy/rinterface/__init__.py
+@@ -43,6 +43,15 @@ if not R_HOME:
+ if not os.environ.get("R_HOME"):
+     os.environ['R_HOME'] = R_HOME
+ 
++# path to libraries
++existing = os.environ.get('R_LIBS_SITE')
++if existing is not None:
++    prefix = existing + ':'
++else:
++    prefix = ''
++additional = '@NIX_R_LIBS_SITE@'
++os.environ['R_LIBS_SITE'] = prefix + additional
++
+ if sys.platform == 'win32':
+     _load_r_dll(R_HOME)
+ 
diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix
new file mode 100644
index 000000000000..5453541e2de5
--- /dev/null
+++ b/pkgs/development/python-modules/rtslib/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchFromGitHub, buildPythonPackage, six, pyudev, pygobject3 }:
+
+buildPythonPackage rec {
+  pname = "rtslib";
+  version = "2.1.fb69";
+
+  src = fetchFromGitHub {
+    owner = "open-iscsi";
+    repo ="${pname}-fb";
+    rev = "v${version}";
+    sha256 = "17rlcrd9757nq91pa8xjr7147k7mxxp8zdka7arhlgsp3kcnbsfd";
+  };
+
+  propagatedBuildInputs = [ six pyudev pygobject3 ];
+
+  meta = with stdenv.lib; {
+    description = "A Python object API for managing the Linux LIO kernel target";
+    homepage = https://github.com/open-iscsi/rtslib-fb;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/sdnotify/default.nix b/pkgs/development/python-modules/sdnotify/default.nix
new file mode 100644
index 000000000000..478453821782
--- /dev/null
+++ b/pkgs/development/python-modules/sdnotify/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sdnotify";
+  version = "0.3.2";
+
+  src = fetchPypi {
+    sha256 = "1wdrdg2j16pmqhk0ify20s5pngijh7zc6hyxhh8w8v5k8v3pz5vk";
+    inherit pname version;
+  };
+
+  meta = with stdenv.lib; {
+    description = "A pure Python implementation of systemd's service notification protocol";
+    homepage = https://github.com/bb4242/sdnotify;
+    license = licenses.mit;
+    maintainers = with maintainers; [ pmiddend ];
+  };
+}
diff --git a/pkgs/development/python-modules/should-dsl/default.nix b/pkgs/development/python-modules/should-dsl/default.nix
new file mode 100644
index 000000000000..987d7e60cea6
--- /dev/null
+++ b/pkgs/development/python-modules/should-dsl/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "should-dsl";
+  version = "2.1.2";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "should_dsl";
+    sha256 = "0ai30dxgygwzaj9sgdzyfr9p5b7gwc9piq59nzr4xy5x1zcm7xrn";
+  };
+
+  # There are no tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Should assertions in Python as clear and readable as possible";
+    homepage = http://www.should-dsl.info/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/sievelib/default.nix b/pkgs/development/python-modules/sievelib/default.nix
new file mode 100644
index 000000000000..d579f3ef7445
--- /dev/null
+++ b/pkgs/development/python-modules/sievelib/default.nix
@@ -0,0 +1,41 @@
+{ lib, buildPythonPackage, fetchPypi, fetchpatch, mock
+, future, six, setuptools_scm }:
+
+buildPythonPackage rec {
+  pname = "sievelib";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sl1fnwr5jdacrrnq2rvzh4vv1dyxd3x31vnqga36gj8h546h7mz";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/tonioo/sievelib/commit/1deef0e2bf039a0e817ea6f19aaf1947dc9fafbc.patch";
+      sha256 = "0vaj73mcij9dism8vfaai82irh8j1b2n8gf9jl1a19d2l26jrflk";
+    })
+  ];
+
+  buildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ future six ];
+  checkInputs = [ mock ];
+
+  meta = {
+    description = "Client-side Sieve and Managesieve library written in Python";
+    homepage    = https://github.com/tonioo/sievelib;
+    license     = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ leenaars ];
+    longDescription = ''
+      A library written in Python that implements RFC 5228 (Sieve: An Email
+      Filtering Language) and RFC 5804 (ManageSieve: A Protocol for
+      Remotely Managing Sieve Scripts), as well as the following extensions:
+
+       * Copying Without Side Effects (RFC 3894)
+       * Body (RFC 5173)
+       * Date and Index (RFC 5260)
+       * Vacation (RFC 5230)
+       * Imap4flags (RFC 5232)
+    '';
+  };
+}
diff --git a/pkgs/development/python-modules/simplekml/default.nix b/pkgs/development/python-modules/simplekml/default.nix
new file mode 100644
index 000000000000..d97c1b0c9638
--- /dev/null
+++ b/pkgs/development/python-modules/simplekml/default.nix
@@ -0,0 +1,20 @@
+{ lib , buildPythonPackage , fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "simplekml";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "30c121368ce1d73405721730bf766721e580cae6fbb7424884c734c89ec62ad7";
+  };
+
+  doCheck = false; # no tests are defined in 1.3.1
+
+  meta = with lib; {
+    description = "Generate KML with as little effort as possible";
+    homepage =  https://readthedocs.org/projects/simplekml/;
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ rvolosatovs ];
+  };
+}
diff --git a/pkgs/development/python-modules/snug/default.nix b/pkgs/development/python-modules/snug/default.nix
new file mode 100644
index 000000000000..0b3adbe15d90
--- /dev/null
+++ b/pkgs/development/python-modules/snug/default.nix
@@ -0,0 +1,37 @@
+{ buildPythonPackage, lib, fetchFromGitHub, glibcLocales
+, pytest, pytest-mock, gentools
+, typing, singledispatch, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "snug";
+  version = "1.3.4";
+
+  # Pypi doesn't ship the tests, so we fetch directly from GitHub
+  src = fetchFromGitHub {
+    owner = "ariebovenberg";
+    repo = "snug";
+    rev = "v${version}";
+    sha256 = "0jmg0sivz9ljazlnsrrqaizrb3r7asy5pa0dj3idx49gbig4589i";
+  };
+
+  # Prevent unicode decoding error in setup.py
+  # while reading README.rst and HISTORY.rst
+  buildInputs = [ glibcLocales ];
+  LC_ALL = "en_US.UTF-8";
+
+  propagatedBuildInputs =
+    lib.optionals (pythonOlder "3.4") [ singledispatch ] ++
+    lib.optionals (pythonOlder "3.5") [ typing ];
+
+  checkInputs = [ pytest pytest-mock gentools ];
+  checkPhase = "pytest";
+
+  meta = with lib; {
+    description = "Tiny toolkit for writing reusable interactions with web APIs";
+    license = licenses.mit;
+    homepage = https://snug.readthedocs.io/en/latest/;
+    maintainers = with maintainers; [ mredaelli ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/snuggs/default.nix b/pkgs/development/python-modules/snuggs/default.nix
new file mode 100644
index 000000000000..3e0ffe4110db
--- /dev/null
+++ b/pkgs/development/python-modules/snuggs/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage, lib, fetchFromGitHub
+, click, numpy, pyparsing
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "snuggs";
+  version = "1.4.2";
+
+  # Pypi doesn't ship the tests, so we fetch directly from GitHub
+  src = fetchFromGitHub {
+    owner = "mapbox";
+    repo = pname;
+    rev = version;
+    sha256 = "1q6jqwai4qgghdjgwhyx3yz8mlrm7p1vvnwc339lfl028hrgb5kb";
+  };
+
+  propagatedBuildInputs = [ click numpy pyparsing ];
+
+  checkInputs = [ pytest ];
+  checkPhase = "pytest test_snuggs.py";
+
+  meta = with lib; {
+    description = "S-expressions for Numpy";
+    license = licenses.mit;
+    homepage = https://github.com/mapbox/snuggs;
+    maintainers = with maintainers; [ mredaelli ];
+  };
+}
diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix
index 31ec9c12b002..b4c5fdf4022e 100644
--- a/pkgs/development/python-modules/sure/default.nix
+++ b/pkgs/development/python-modules/sure/default.nix
@@ -1,31 +1,28 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, nose
+, rednose
 , six
 , mock
-, pkgs
 , isPyPy
 }:
 
 buildPythonPackage rec {
   pname = "sure";
-  version = "1.2.24";
+  version = "1.4.11";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lyjq0rvkbv585dppjdq90lbkm6gyvag3wgrggjzyh7cpyh5c12w";
+    sha256 = "3c8d5271fb18e2c69e2613af1ad400d8df090f1456081635bd3171847303cdaa";
   };
 
-  LC_ALL="en_US.UTF-8";
-
-  buildInputs = [ nose pkgs.glibcLocales ];
+  buildInputs = [ rednose ];
   propagatedBuildInputs = [ six mock ];
 
   meta = with stdenv.lib; {
     description = "Utility belt for automated testing";
-    homepage = https://falcao.it/sure/;
+    homepage = https://sure.readthedocs.io/en/latest/;
     license = licenses.gpl3Plus;
   };
 
diff --git a/pkgs/development/python-modules/thumbor/default.nix b/pkgs/development/python-modules/thumbor/default.nix
index ec33a5020d47..27e90514b729 100644
--- a/pkgs/development/python-modules/thumbor/default.nix
+++ b/pkgs/development/python-modules/thumbor/default.nix
@@ -1,6 +1,8 @@
-{ buildPythonPackage, tornado, pycrypto, pycurl, pytz
-, pillow, derpconf, python_magic, pexif, libthumbor, opencv, webcolors
-, piexif, futures, statsd, thumborPexif, fetchPypi, isPy3k, lib
+{ buildPythonPackage, python, tornado, pycrypto, pycurl, pytz
+, pillow, derpconf, python_magic, libthumbor, webcolors
+, piexif, futures, statsd, thumborPexif, fetchFromGitHub, isPy3k, lib
+, mock, raven, nose, yanc, remotecv, pyssim, cairosvg1, preggy, opencv3
+, pkgs, coreutils
 }:
 
 buildPythonPackage rec {
@@ -9,16 +11,40 @@ buildPythonPackage rec {
 
   disabled = isPy3k; # see https://github.com/thumbor/thumbor/issues/1004
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1icfnzwzi5lvnh576n7v3r819jaw15ph9ja2w3fwg5z9qs40xvl8";
+  # Tests aren't included in PyPI tarball so use GitHub instead
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "1ys5ymwbvgh2ir85g9nyrzzf8vgi16j6pzzi53b0rgjx0kwlmnxg";
   };
 
   postPatch = ''
     substituteInPlace "setup.py" \
       --replace '"argparse",' "" ${lib.optionalString isPy3k ''--replace '"futures",' ""''}
+    substituteInPlace "setup.py" \
+      --replace "piexif>=1.0.13,<1.1.0" "piexif>=1.0.13"
+    substituteInPlace "tests/test_utils.py" \
+      --replace "/bin/ls" "${coreutils}/bin/ls"
+    substituteInPlace "tests/detectors/test_face_detector.py" \
+      --replace "./thumbor" "$out/lib/${python.libPrefix}/site-packages/thumbor"
+    substituteInPlace "tests/detectors/test_glasses_detector.py" \
+      --replace "./thumbor" "$out/lib/${python.libPrefix}/site-packages/thumbor"
   '';
 
+  checkInputs = [
+    nose
+    pyssim
+    preggy
+    mock
+    yanc
+    remotecv
+    cairosvg1
+    raven
+    pkgs.redis
+    pkgs.glibcLocales
+  ];
+
   propagatedBuildInputs = [
     tornado
     pycrypto
@@ -27,18 +53,26 @@ buildPythonPackage rec {
     pillow
     derpconf
     python_magic
-    pexif
     libthumbor
-    opencv
+    opencv3
     webcolors
     piexif
     statsd
+    pkgs.exiftool
+    pkgs.libjpeg
+    pkgs.ffmpeg
+    pkgs.gifsicle
   ] ++ lib.optionals (!isPy3k) [ futures thumborPexif ];
 
-  # disabled due to too many impure tests and issues with native modules in
-  # the pure testing environment. See https://github.com/NixOS/nixpkgs/pull/37147
-  # for further reference.
-  doCheck = false;
+  # Remove the source tree before running nosetests because otherwise nosetests
+  # uses that instead of the installed package. Is there some other way to
+  # achieve this?
+  checkPhase = ''
+    redis-server --port 6668 --requirepass hey_you &
+    rm -r thumbor
+    export LC_ALL="en_US.UTF-8"
+    nosetests -v --with-yanc -s tests/
+  '';
 
   meta = with lib; {
     description = "A smart imaging service";
diff --git a/pkgs/development/python-modules/uarray/default.nix b/pkgs/development/python-modules/uarray/default.nix
new file mode 100644
index 000000000000..fad2dee2d165
--- /dev/null
+++ b/pkgs/development/python-modules/uarray/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, matchpy
+, numpy
+, astunparse
+, typing-extensions
+, black
+, pytest
+, pytestcov
+, numba
+, nbval
+, python
+, isPy37
+}:
+
+buildPythonPackage rec {
+  pname = "uarray";
+  version = "0.4";
+  format = "flit";
+  # will have support soon see
+  # https://github.com/Quansight-Labs/uarray/pull/64
+  disabled = isPy37;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4ec88f477d803a914d58fdf83aeedfb1986305355775cf55525348c62cce9aa4";
+  };
+
+  checkInputs = [ pytest nbval pytestcov numba ];
+  propagatedBuildInputs = [ matchpy numpy astunparse typing-extensions black ];
+
+  checkPhase = ''
+    ${python.interpreter} extract_readme_tests.py
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Universal array library";
+    homepage = https://github.com/Quansight-Labs/uarray;
+    license = licenses.bsd0;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/unicorn/default.nix b/pkgs/development/python-modules/unicorn/default.nix
index b20843d0fc29..de317ec1844e 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 5ca6e03fbf45..68d097d71d6a 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/python-modules/yanc/default.nix b/pkgs/development/python-modules/yanc/default.nix
new file mode 100644
index 000000000000..690b110fc93a
--- /dev/null
+++ b/pkgs/development/python-modules/yanc/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, pythonOlder, fetchPypi, nose }:
+
+buildPythonPackage rec {
+  pname = "yanc";
+  version = "0.3.3";
+
+  # Tests fail on Python>=3.5. See: https://github.com/0compute/yanc/issues/10
+  disabled = !(pythonOlder "3.5");
+
+  checkInputs = [ nose ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0z35bkk9phs40lf5061k1plhjdl5fskm0dmdikrsqi1bjihnxp8w";
+  };
+
+  checkPhase = ''
+    nosetests .
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Yet another nose colorer";
+    homepage = https://github.com/0compute/yanc;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/yattag/default.nix b/pkgs/development/python-modules/yattag/default.nix
new file mode 100644
index 000000000000..cd31f7c2d55f
--- /dev/null
+++ b/pkgs/development/python-modules/yattag/default.nix
@@ -0,0 +1,17 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "yattag";
+  version = "1.10.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0r3pwfygvpkgc0hzxc6z8dl56g6brlh52r0x8kcjhywr1biahqb2";
+  };
+
+  meta = with lib; {
+    description = "Generate HTML or XML in a pythonic way. Pure python alternative to web template engines. Can fill HTML forms with default values and error messages.";
+    license = [ licenses.lgpl21 ];
+    homepage = http://www.yattag.org/;
+  };
+}
diff --git a/pkgs/development/r-modules/wrapper-rstudio.nix b/pkgs/development/r-modules/wrapper-rstudio.nix
index dd9b0e9c5381..8ad3a103c93a 100644
--- a/pkgs/development/r-modules/wrapper-rstudio.nix
+++ b/pkgs/development/r-modules/wrapper-rstudio.nix
@@ -1,5 +1,8 @@
-{ stdenv, R, rstudio, makeWrapper, recommendedPackages, packages }:
+{ stdenv, R, rstudio, makeWrapper, recommendedPackages, packages, qtbase }:
 
+let
+  qtVersion = with stdenv.lib.versions; "${major qtbase.version}.${minor qtbase.version}";
+in
 stdenv.mkDerivation rec {
 
   name = rstudio.name + "-wrapper";
@@ -24,7 +27,8 @@ stdenv.mkDerivation rec {
     echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/${fixLibsR}
     echo -n "\"))" >> $out/${fixLibsR}
     echo >> $out/${fixLibsR}
-    makeWrapper ${rstudio}/bin/rstudio $out/bin/rstudio --set R_PROFILE_USER $out/${fixLibsR}
+    makeWrapper ${rstudio}/bin/rstudio $out/bin/rstudio --set R_PROFILE_USER $out/${fixLibsR} \
+      --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtVersion}/plugins    
   '';
   
   meta = {
diff --git a/pkgs/development/r-modules/wrapper.nix b/pkgs/development/r-modules/wrapper.nix
index 3b9a9b184506..d77c24e913d3 100644
--- a/pkgs/development/r-modules/wrapper.nix
+++ b/pkgs/development/r-modules/wrapper.nix
@@ -5,6 +5,9 @@ stdenv.mkDerivation {
 
   buildInputs = [makeWrapper R] ++ recommendedPackages ++ packages;
 
+  # Make the list of recommended R packages accessible to other packages such as rpy2
+  passthru.recommendedPackages = recommendedPackages;
+
   unpackPhase = ":";
 
   installPhase = ''
diff --git a/pkgs/development/ruby-modules/bundix/default.nix b/pkgs/development/ruby-modules/bundix/default.nix
index 4ac62da7f4a3..d0782513c759 100644
--- a/pkgs/development/ruby-modules/bundix/default.nix
+++ b/pkgs/development/ruby-modules/bundix/default.nix
@@ -6,13 +6,13 @@ buildRubyGem rec {
 
   name = "${gemName}-${version}";
   gemName = "bundix";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "manveru";
     repo = "bundix";
     rev = version;
-    sha256 = "0ap23abv6chiv7v97ic6b1qf5by6b26as5yrpxg5q7p2giyiv33v";
+    sha256 = "1lq8nday6031mj7ivnk2wd47v2smz6frnb8xh2yhyhpld045v1rz";
   };
 
   buildInputs = [ ruby bundler ];
diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix
index 415457b86e16..1b64456fb204 100644
--- a/pkgs/development/ruby-modules/bundled-common/default.nix
+++ b/pkgs/development/ruby-modules/bundled-common/default.nix
@@ -89,7 +89,7 @@ let
       gemAttrs = composeGemAttrs ruby gems name attrs;
     in
     if gemAttrs.type == "path" then
-      pathDerivation gemAttrs
+      pathDerivation (gemAttrs.source // gemAttrs)
     else
       buildRubyGem gemAttrs
   );
diff --git a/pkgs/development/ruby-modules/bundler-app/default.nix b/pkgs/development/ruby-modules/bundler-app/default.nix
index 60e3a38517ce..d0ad56538b94 100644
--- a/pkgs/development/ruby-modules/bundler-app/default.nix
+++ b/pkgs/development/ruby-modules/bundler-app/default.nix
@@ -29,6 +29,7 @@
 , buildInputs ? []
 , postBuild ? ""
 , gemConfig ? null
+, passthru ? {}
 }@args:
 
 let
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index c429eaec035b..9a2aaa91ad84 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/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 0381dc85895f..88d68e2fd19e 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -90,17 +90,17 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "19915";
-    gittap = "3.0.1";
-    gittip = "addb7f21e73073600fd6205e385fa096084701f5";
-    rev = "3.0.1";
-    version = "3.0.1";
-    sha256 = "0da4ns11valy305074cri3in5zcafjw3vxc53b4yg37114ly433h";
-    cs_tip = "e2c1cd46c06744beaceff42dd882de3a90f0a37c";
-    cs_sha256 = "1czzqj8zdjgh7h2ixi26ij3mm4bgm4xw2slin6fv73nic8yaw722";
+    version_commit = "20222";
+    gittap = "3.1.0";
+    gittip = "c033496ebc7034e52a84be9cdb2d2dfad6a4cfac";
+    rev = "3.1.0";
+    version = "3.1.0";
+    sha256 = "0ggqda8433n7p4yivn7l0807i5wwf0vww2p8v90ri66nasbzvl16";
+    cs_tip = "f01c267f889e932b069a559ce0c604c1ae986c0a";
+    cs_sha256 = "15ifnql2gi2f9g8j60hc4hbxbvi2qn1r110ry32qmlz55svxh67y";
   };
   r2-for-cutter = generic {
-    version_commit = "19720";
+    version_commit = "20222";
     gittap = "2.9.0-310-gcb62c376b";
     gittip = "cb62c376bef6c7427019a7c28910c33c364436dd";
     rev = "cb62c376bef6c7427019a7c28910c33c364436dd";
diff --git a/pkgs/development/tools/analysis/valgrind/coregrind-makefile-race.patch b/pkgs/development/tools/analysis/valgrind/coregrind-makefile-race.patch
new file mode 100644
index 000000000000..cd09f0edff37
--- /dev/null
+++ b/pkgs/development/tools/analysis/valgrind/coregrind-makefile-race.patch
@@ -0,0 +1,41 @@
+From 7820fc268fae4353118b6355f1d4b9e1b7eeebec Mon Sep 17 00:00:00 2001
+From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
+Date: Sun, 28 Oct 2018 18:35:11 +0100
+Subject: [PATCH 1/1] Fix dependencies between libcoregrind*.a and
+ *m_main.o/*m_libcsetjmp.o
+
+The primary and secondary coregrind libraries must be updated
+when m_main.c or m_libcsetjmp.c are changed.
+
+A dependency was missing between libcoregrind*.a and libnolto_coregrind*.a,
+and so tools were not relinked when m_main.c or m_libcsetjmp.c were
+changed.
+---
+ coregrind/Makefile.am | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
+index 914a270..8de1996 100644
+--- a/coregrind/Makefile.am
++++ b/coregrind/Makefile.am
+@@ -511,6 +511,8 @@ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS += \
+ endif
+ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_LIBADD = \
+     $(libnolto_coregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_OBJECTS)
++libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_DEPENDENCIES = \
++    libnolto_coregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
+ 
+ if VGCONF_HAVE_PLATFORM_SEC
+ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
+@@ -531,6 +533,8 @@ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS += \
+ endif
+ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_LIBADD = \
+     $(libnolto_coregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_OBJECTS)
++libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_DEPENDENCIES = \
++    libnolto_coregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
+ endif
+ 
+ #----------------------------------------------------------------------------
+-- 
+2.9.3
+
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index a371bc2e0022..df99ecb13bb3 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "19ds42jwd89zrsjb94g7gizkkzipn8xik3xykrpcqxylxyzi2z03";
   };
 
+  patches = [ ./coregrind-makefile-race.patch ];
+
   outputs = [ "out" "dev" "man" "doc" ];
 
   hardeningDisable = [ "stackprotector" ];
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index a369df68f050..afe93ddf383e 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -52,6 +52,16 @@ rec {
   };
 
   gradle_latest = gradleGen rec {
+    name = "gradle-5.0";
+    nativeVersion = "0.14";
+
+    src = fetchurl {
+      url = "http://services.gradle.org/distributions/${name}-bin.zip";
+      sha256 = "19krxq9pid9dg6bhdbhhg7ykm5kcx7lv7cr58rj67g0h6jgsqmv1";
+    };
+  };
+
+  gradle_4_10 = gradleGen rec {
     name = "gradle-4.10.2";
     nativeVersion = "0.14";
 
diff --git a/pkgs/development/tools/build-managers/rake/Gemfile.lock b/pkgs/development/tools/build-managers/rake/Gemfile.lock
index c7f89c32c3f8..6f6bcc41f9b3 100644
--- a/pkgs/development/tools/build-managers/rake/Gemfile.lock
+++ b/pkgs/development/tools/build-managers/rake/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    rake (12.0.0)
+    rake (12.3.1)
 
 PLATFORMS
   ruby
@@ -10,4 +10,4 @@ DEPENDENCIES
   rake
 
 BUNDLED WITH
-   1.14.6
+   1.17.1
diff --git a/pkgs/development/tools/build-managers/rake/gemset.nix b/pkgs/development/tools/build-managers/rake/gemset.nix
index d5dc29e378ae..c1a3a511b22d 100644
--- a/pkgs/development/tools/build-managers/rake/gemset.nix
+++ b/pkgs/development/tools/build-managers/rake/gemset.nix
@@ -2,9 +2,9 @@
   rake = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
+      sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg";
       type = "gem";
     };
-    version = "12.0.0";
+    version = "12.3.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 2331bbbe55fa..04f0c5cb66fa 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "11.4.0";
+  version = "11.5.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "1vzp9d7dygb44b9x6vfl913fggjkiimzjj9arybn468rc2kh0si6";
+    sha256 = "1siiws19qzfv2nnyp9fy215yd08iv70x830b61kr1742ywc0jcbn";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "1krfd6ffzc78g7k04bkk32vzingplhn176jhw4p1ys19f4sqf5sw";
+    sha256 = "0d7wnpry4861dcmpspbaar97mkf0jf2bcxvr4nph9xnkw8w7fs2z";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0nhqnw6nk5q716ir0vdkqy0jj1vbxz014jx080zk44cdj7l62lrm";
+    sha256 = "028bl249yfccdnwskbn6sxzf1xsg94chbm107n2h83j7a81cz8kw";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/database/sqlcheck/default.nix b/pkgs/development/tools/database/sqlcheck/default.nix
new file mode 100644
index 000000000000..867aa0b98eca
--- /dev/null
+++ b/pkgs/development/tools/database/sqlcheck/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "sqlcheck-${version}";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "jarulraj";
+    repo = "sqlcheck";
+    rev = "v${version}";
+    sha256 = "0v8idyhwhbphxzmh03lih3wd9gdq317zn7wsf01infih7b6l0k69";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Automatically identify anti-patterns in SQL queries";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/tools/database/sqlite-web/default.nix b/pkgs/development/tools/database/sqlite-web/default.nix
new file mode 100644
index 000000000000..a1b8ece12362
--- /dev/null
+++ b/pkgs/development/tools/database/sqlite-web/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "sqlite-web";
+  version = "0.3.5";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "9e0c8938434b0129423544162d4ca6975abf7042c131445f79661a4b9c885d47";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ flask peewee pygments ];
+
+  # no tests in repository
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Web-based SQLite database browser";
+    homepage = https://github.com/coleifer/sqlite-web;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/tools/fusee-launcher/default.nix b/pkgs/development/tools/fusee-launcher/default.nix
new file mode 100644
index 000000000000..6210361eb883
--- /dev/null
+++ b/pkgs/development/tools/fusee-launcher/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, lib
+, python3Packages
+, python3
+, fetchFromGitHub
+, pkgsCross
+, makeWrapper
+} :
+
+stdenv.mkDerivation rec {
+  name = "fusee-launcher-${version}";
+  version = "unstable-2018-07-14";
+
+  src = fetchFromGitHub {
+    owner = "Cease-and-DeSwitch";
+    repo = "fusee-launcher";
+    rev = "265e8f3e1987751ec41db6f1946d132b296aba43";
+    sha256 = "1pqkgw5bk0xcz9x7pc1f0r0b9nsc8jnnvcs1315d8ml8mx23fshm";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share
+    cp fusee-launcher.py $out/bin/fusee-launcher
+    cp intermezzo.bin $out/share/intermezzo.bin
+
+    # Wrap with path to intermezzo.bin relocator binary in /share
+    wrapProgram $out/bin/fusee-launcher \
+      --add-flags "--relocator $out/share/intermezzo.bin" \
+      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
+  '';
+
+  nativeBuildInputs = [ pkgsCross.arm-embedded.buildPackages.gcc makeWrapper python3Packages.wrapPython ];
+  buildInputs = [ python3 python3Packages.pyusb ];
+  pythonPath = with python3Packages; [ pyusb ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Cease-and-DeSwitch/fusee-launcher;
+    description = "Work-in-progress launcher for one of the Tegra X1 bootROM exploits";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pneumaticat ];
+  };
+
+}
diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/development/tools/gauge/default.nix
index 983df980a591..82a7b4b0e276 100644
--- a/pkgs/development/tools/gauge/default.nix
+++ b/pkgs/development/tools/gauge/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gauge-${version}";
-  version = "1.0.2";
+  version = "1.0.3";
 
   goPackagePath = "github.com/getgauge/gauge";
   excludedPackages = ''\(build\|man\)'';
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "getgauge";
     repo = "gauge";
     rev = "v${version}";
-    sha256 = "0cnhkxfw78i4lgkbrk87hgrjh98f0z6a97g77c9av20z4962hmfy";
+    sha256 = "0dcsgszg6ilf3sxan3ahf9cfpw66z3mh2svg2srxv8ici3ak8a2x";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix
index ba9ac923d11c..09b7796b5f68 100644
--- a/pkgs/development/tools/heroku/default.nix
+++ b/pkgs/development/tools/heroku/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "heroku-${version}";
-  version = "7.16.0";
+  version = "7.18.2";
 
   src = fetchurl {
     url = "https://cli-assets.heroku.com/heroku-v${version}/heroku-v${version}.tar.xz";
-    sha256 = "434573b4773ce7ccbb21b43b19529475d941fa7dd219b01b75968b42e6b62abe";
+    sha256 = "1dplh3bfin1g0wwbkg76z3xsja4zqj350vrzl8jfw7982saxqywh";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
diff --git a/pkgs/development/tools/kube-prompt/default.nix b/pkgs/development/tools/kube-prompt/default.nix
index 2ea69a0c56b5..60f53c74bb24 100644
--- a/pkgs/development/tools/kube-prompt/default.nix
+++ b/pkgs/development/tools/kube-prompt/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "kube-prompt-${version}";
-  version = "1.0.4";
+  version = "1.0.5";
   rev = "v${version}";
 
   goPackagePath = "github.com/c-bata/kube-prompt";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "c-bata";
     repo = "kube-prompt";
-    sha256 = "09c2kjsk8cl7qgxbr1s7qd9br5shf7gccxvbf7nyi6wjiass9yg5";
+    sha256 = "1c1y0n1yxcaxvhlsj7b0wvhi934b5g0s1mi46hh5amb9j3dhgq1c";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/kube-prompt/deps.nix b/pkgs/development/tools/kube-prompt/deps.nix
index 393b69a2a331..e2391789a41c 100644
--- a/pkgs/development/tools/kube-prompt/deps.nix
+++ b/pkgs/development/tools/kube-prompt/deps.nix
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/c-bata/go-prompt";
-      rev =  "c52492ff1b386e5c0ba5271b5eaad165fab09eca";
-      sha256 = "14k8anchf0rcpxfbb2acrajdqrfspscbkn47m4py1zh5rkk6b9p9";
+      rev =  "09daf6ae57865e436aab9ede6b66b490036e87de";
+      sha256 = "1s58y0i67x2yvi3iisdhj2qqrbl4kz0viy06caip8ykhxpvvkq30";
     };
   }
   {
diff --git a/pkgs/development/tools/kubicorn/default.nix b/pkgs/development/tools/kubicorn/default.nix
new file mode 100644
index 000000000000..fb76aed7b9eb
--- /dev/null
+++ b/pkgs/development/tools/kubicorn/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+with stdenv.lib;
+
+buildGoPackage rec {
+  name = "kubicorn-${version}";
+  version = "2018-10-13-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "4c7f3623e9188fba43778271afe161a4facfb657";
+
+  src = fetchFromGitHub {
+    rev = rev;
+    owner = "kubicorn";
+    repo = "kubicorn";
+    sha256 = "18h5sj4lcivrwjq2hzn7c3g4mblw17zicb5nma8sh7sakwzyg1k9";
+  };
+
+  subPackages = ["."];
+  goPackagePath = "github.com/kubicorn/kubicorn";
+
+  meta = {
+    description = "Simple, cloud native infrastructure for Kubernetes";
+    homepage = http://kubicorn.io/;
+    maintainers = with stdenv.lib.maintainers; [ offline ];
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix
index 15ae07962c59..38b495d89a63 100644
--- a/pkgs/development/tools/kustomize/default.nix
+++ b/pkgs/development/tools/kustomize/default.nix
@@ -3,9 +3,9 @@
 
 buildGoPackage rec {
   name = "kustomize-${version}";
-  version = "1.0.9";
-  # rev is the 1.0.8 commit, mainly for kustomize version command output
-  rev = "ec86b30d2b01a8fa62e645f024f26bfea5dcd30d";
+  version = "1.0.10";
+  # rev is the 1.0.10 commit, mainly for kustomize version command output
+  rev = "383b3e798b7042f8b7431f93e440fb85631890a3";
 
   goPackagePath = "sigs.k8s.io/kustomize";
 
@@ -17,7 +17,7 @@ buildGoPackage rec {
   '';
 
   src = fetchFromGitHub {
-    sha256 = "06a0iic8sp745q71bh0k2zbcdhppp85bx9c3fwwr4wl77dlybz4f";
+    sha256 = "1z78d5j2w78x4ks4v745050g2ffmirj03v7129dib2lfhfjra8aj";
     rev = "v${version}";
     repo = "kustomize";
     owner = "kubernetes-sigs";
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 2d2884eda3e2..1c30983dfee0 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 ae8f17c213a9..6c4ff49d90fe 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/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 103f11311484..864ee05cf838 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 29bf92d2b6e5..36e83564346b 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 273f9db0c399..000000000000
--- 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/prelink/default.nix b/pkgs/development/tools/misc/prelink/default.nix
index 89b1ed6ee40c..f99c904ed01c 100644
--- a/pkgs/development/tools/misc/prelink/default.nix
+++ b/pkgs/development/tools/misc/prelink/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = http://people.redhat.com/jakub/prelink/;
+    homepage = https://people.redhat.com/jakub/prelink/;
     license = "GPL";
     description = "ELF prelinking utility to speed up dynamic linking";
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/tools/misc/premake/3.nix b/pkgs/development/tools/misc/premake/3.nix
index 77f613868747..8b02bf96fd57 100644
--- a/pkgs/development/tools/misc/premake/3.nix
+++ b/pkgs/development/tools/misc/premake/3.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation {
     install -Dm755 bin/premake $out/bin/premake
   '';
 
+  premake_cmd = "premake3";
+  setupHook = ./setup-hook.sh;
+
   meta = {
     homepage = http://industriousone.com/premake;
     description = "A simple build configuration and project generation tool using lua";
diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix
index 93220a02e2df..8ceb3d4a4367 100644
--- a/pkgs/development/tools/misc/premake/5.nix
+++ b/pkgs/development/tools/misc/premake/5.nix
@@ -31,6 +31,9 @@ stdenv.mkDerivation rec {
     install -Dm755 bin/release/premake5 $out/bin/premake5
   '';
 
+  premake_cmd = "premake5";
+  setupHook = ./setup-hook.sh;
+
   meta = {
     homepage = https://premake.github.io;
     description = "A simple build configuration and project generation tool using lua";
diff --git a/pkgs/development/tools/misc/premake/default.nix b/pkgs/development/tools/misc/premake/default.nix
index 770c80710953..99bf8cac81fa 100644
--- a/pkgs/development/tools/misc/premake/default.nix
+++ b/pkgs/development/tools/misc/premake/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "1017rd0wsjfyq2jvpjjhpszaa7kmig6q1nimw76qx3cjz2868lrn";
   };
 
-  buildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip ];
 
   buildPhase = ''
     make -C build/gmake.unix/
@@ -22,11 +22,14 @@ stdenv.mkDerivation {
     install -Dm755 bin/release/premake4 $out/bin/premake4
   '';
 
+  premake_cmd = "premake4";
+  setupHook = ./setup-hook.sh;
+
   meta = with stdenv.lib; {
     homepage = http://industriousone.com/premake;
     description = "A simple build configuration and project generation tool using lua";
     license = stdenv.lib.licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/premake/setup-hook.sh b/pkgs/development/tools/misc/premake/setup-hook.sh
new file mode 100644
index 000000000000..ba06ea2c7617
--- /dev/null
+++ b/pkgs/development/tools/misc/premake/setup-hook.sh
@@ -0,0 +1,19 @@
+premakeConfigurePhase() {
+    runHook preConfigure
+
+    local flagsArray=(
+        ${premakefile:+--file=$premakefile}
+        $premakeFlags ${premakeFlagsArray[@]}
+        ${premakeBackend:-gmake}
+    )
+
+    echoCmd 'configure flags' "${flagsArray[@]}"
+
+    @premake_cmd@ "${flagsArray[@]}"
+
+    runHook postConfigure
+}
+
+if [ -z "$configurePhase" ]; then
+    configurePhase=premakeConfigurePhase
+fi
diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix
index 257e822edd94..e299a7b0eb82 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 077d037aa97f..9dc2b535c091 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/ocaml/omake/0.9.8.6-rc1.nix b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
index 4d7900de80d2..182250f9a744 100644
--- a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
+++ b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://src.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
+    url = "https://src.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
     sha256 = "1sas02pbj56m7wi5vf3vqrrpr4ynxymw2a8ybvfj2dkjf7q9ii13";
   };
   patchFlags = "-p0";
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index bae134ea3a51..2aca4af1deaa 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/pew/default.nix b/pkgs/development/tools/pew/default.nix
index 73046165b1ab..6f26a48b9c43 100644
--- a/pkgs/development/tools/pew/default.nix
+++ b/pkgs/development/tools/pew/default.nix
@@ -11,6 +11,8 @@ with python3Packages; buildPythonApplication rec {
 
     propagatedBuildInputs = [ virtualenv virtualenv-clone setuptools ];
 
+    LC_ALL = "en_US.UTF-8";
+
     postFixup = ''
       set -euo pipefail
       PEW_SITE="$out/lib/${python.libPrefix}/site-packages"
@@ -24,6 +26,7 @@ with python3Packages; buildPythonApplication rec {
     '';
 
     meta = with stdenv.lib; {
+      homepage = https://github.com/berdario/pew;
       description = "Tools to manage multiple virtualenvs written in pure python";
       license = licenses.mit;
       platforms = platforms.all;
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index 949d798f7e88..51cecd81ecac 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -37,27 +37,27 @@ in stdenv.mkDerivation rec {
 
   patches = [
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/collab-maint/phantomjs.git/plain/debian/patches/build-hardening.patch?id=42c9154d8c87c9fe434908259b0eddde4d892ca3";
+      url = https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-hardening.patch;
       sha256 = "1qs1r76w90qgpw742i7lf0y3b7m9zh5wxcbrhrak6mq1kqaphqb5";
     })
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/collab-maint/phantomjs.git/plain/debian/patches/build-qt-components.patch?id=9b5c1ce95a7044ebffc634f773edf7d4eb9b6cd3";
+      url = https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt-components.patch;
       sha256 = "1fw2q59aqcks3abvwkqg9903yif6aivdsznc0h6frhhjvpp19vsb";
     })
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/collab-maint/phantomjs.git/plain/debian/patches/build-qt55-evaluateJavaScript.patch?id=9b5c1ce95a7044ebffc634f773edf7d4eb9b6cd3";
+      url = https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-evaluateJavaScript.patch;
       sha256 = "1avig9cfny8kv3s4mf3mdzvf3xlzgyh351yzwc4bkpnjvzv4fmq6";
     })
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/collab-maint/phantomjs.git/plain/debian/patches/build-qt55-no-websecurity.patch?id=9b5c1ce95a7044ebffc634f773edf7d4eb9b6cd3";
+      url = https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-no-websecurity.patch;
       sha256 = "1nykqpxa7lcf9iarz5lywgg3v3b1h19iwvjdg4kgq0ai6idhcab8";
     })
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/collab-maint/phantomjs.git/plain/debian/patches/build-qt55-print.patch?id=9b5c1ce95a7044ebffc634f773edf7d4eb9b6cd3";
+      url = https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-print.patch;
       sha256 = "1fydmdjxnplglpbd3ypaih5l237jkxjirpdhzz92mcpy29yla6jw";
     })
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/collab-maint/phantomjs.git/plain/debian/patches/unlock-qt.patch";
+      url = https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/unlock-qt.patch;
       sha256 = "13bwz4iw17d6hq5pwkbpcckqyw7fhc6648lvs26m39pp31zwyp03";
     })
     ./system-qtbase.patch
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index 7d4a58d0e394..46b77a2b9989 100644
--- a/pkgs/development/tools/pipenv/default.nix
+++ b/pkgs/development/tools/pipenv/default.nix
@@ -2,11 +2,11 @@
 with python3Packages; buildPythonApplication rec {
     name = "${pname}-${version}";
     pname = "pipenv";
-    version = "2018.10.13";
+    version = "2018.11.14";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0qwflq00rwk3pnldndb30f3avnbi4hvv6c8mm6l5xxnxy9dj71d7";
+      sha256 = "1ni2cjgm04dwi8a0376nzwwy3gklqk9d0hkl8d9j760lvqshsxjz";
     };
 
     LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix
index a01d7dd42906..f032669990b5 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/scss-lint/Gemfile b/pkgs/development/tools/scss-lint/Gemfile
new file mode 100644
index 000000000000..05eac2332f5b
--- /dev/null
+++ b/pkgs/development/tools/scss-lint/Gemfile
@@ -0,0 +1,2 @@
+source "https://rubygems.org"
+gem "scss_lint"
diff --git a/pkgs/development/tools/scss-lint/Gemfile.lock b/pkgs/development/tools/scss-lint/Gemfile.lock
new file mode 100644
index 000000000000..546dfabe4d76
--- /dev/null
+++ b/pkgs/development/tools/scss-lint/Gemfile.lock
@@ -0,0 +1,25 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    ffi (1.9.25)
+    rake (12.3.1)
+    rb-fsevent (0.10.3)
+    rb-inotify (0.9.10)
+      ffi (>= 0.5.0, < 2)
+    sass (3.7.2)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+    scss_lint (0.57.1)
+      rake (>= 0.9, < 13)
+      sass (~> 3.5, >= 3.5.5)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  scss_lint
+
+BUNDLED WITH
+   1.16.3
diff --git a/pkgs/development/tools/scss-lint/default.nix b/pkgs/development/tools/scss-lint/default.nix
new file mode 100644
index 000000000000..d1d0dbababa2
--- /dev/null
+++ b/pkgs/development/tools/scss-lint/default.nix
@@ -0,0 +1,15 @@
+{ lib, bundlerApp }:
+
+bundlerApp {
+  pname = "scss_lint";
+  gemdir = ./.;
+  exes = [ "scss-lint" ];
+
+  meta = with lib; {
+    description = "A tool to help keep your SCSS files clean and readable";
+    homepage    = https://github.com/brigade/scss-lint;
+    license     = licenses.mit;
+    maintainers = [ maintainers.lovek323 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/scss-lint/gemset.nix b/pkgs/development/tools/scss-lint/gemset.nix
new file mode 100644
index 000000000000..46747f049396
--- /dev/null
+++ b/pkgs/development/tools/scss-lint/gemset.nix
@@ -0,0 +1,62 @@
+{
+  ffi = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
+      type = "gem";
+    };
+    version = "1.9.25";
+  };
+  rake = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg";
+      type = "gem";
+    };
+    version = "12.3.1";
+  };
+  rb-fsevent = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
+      type = "gem";
+    };
+    version = "0.10.3";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
+      type = "gem";
+    };
+    version = "0.9.10";
+  };
+  sass = {
+    dependencies = ["sass-listen"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1phs6hnd8b95m7n5wbh5bsclmwaajd1sqlgw9fmj72bfqldbmcqa";
+      type = "gem";
+    };
+    version = "3.7.2";
+  };
+  sass-listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
+      type = "gem";
+    };
+    version = "4.0.0";
+  };
+  scss_lint = {
+    dependencies = ["rake" "sass"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dv4ff1lqbgqdx99nwg059c983dhw67kvvjd21f6vf62cjx09lpn";
+      type = "gem";
+    };
+    version = "0.57.1";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/tychus/default.nix b/pkgs/development/tools/tychus/default.nix
new file mode 100644
index 000000000000..775e26eb6a8c
--- /dev/null
+++ b/pkgs/development/tools/tychus/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, buildGoPackage, CoreFoundation }:
+
+buildGoPackage rec {
+  name = "tychus-${version}";
+  version = "0.6.3";
+
+  goPackagePath = "github.com/devlocker/tychus";
+  goDeps = ./deps.nix;
+  subPackages = [];
+
+  src = fetchFromGitHub {
+    owner = "devlocker";
+    repo = "tychus";
+    rev = "v${version}";
+    sha256 = "02ybxjsfga89gpg0k21zmykhhnpx1vy3ny8fcwj0qsg73i11alvw";
+  };
+
+  buildInputs = stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation ];
+
+  buildFlags = "--tags release";
+
+  meta = {
+    description = "Command line utility to live-reload your application.";
+    homepage = https://github.com/devlocker/tychus;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/tychus/deps.nix b/pkgs/development/tools/tychus/deps.nix
new file mode 100644
index 000000000000..194aa96ae3ce
--- /dev/null
+++ b/pkgs/development/tools/tychus/deps.nix
@@ -0,0 +1,30 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev =  "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev =  "f91529fc609202eededff4de2dc0ba2f662240a3";
+      sha256 = "10c3d5dp98rys134dnsl19ldj8bca183z91lj8rkbsy78qzrr9af";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev =  "e57e3eeb33f795204c1ca35f56c44f83227c6e66";
+      sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/development/tools/valadoc/default.nix b/pkgs/development/tools/valadoc/default.nix
index fba5fe91ed86..a36e251a4a28 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 = {
diff --git a/pkgs/development/tools/xcpretty/Gemfile b/pkgs/development/tools/xcpretty/Gemfile
new file mode 100644
index 000000000000..0b37143fe0eb
--- /dev/null
+++ b/pkgs/development/tools/xcpretty/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'xcpretty'
diff --git a/pkgs/development/tools/xcpretty/Gemfile.lock b/pkgs/development/tools/xcpretty/Gemfile.lock
new file mode 100644
index 000000000000..6f1ba7545a82
--- /dev/null
+++ b/pkgs/development/tools/xcpretty/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    rouge (2.0.7)
+    xcpretty (0.3.0)
+      rouge (~> 2.0.7)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  xcpretty
+
+BUNDLED WITH
+   1.16.4
diff --git a/pkgs/development/tools/xcpretty/default.nix b/pkgs/development/tools/xcpretty/default.nix
new file mode 100644
index 000000000000..99af752086f6
--- /dev/null
+++ b/pkgs/development/tools/xcpretty/default.nix
@@ -0,0 +1,27 @@
+{ lib, bundlerApp, bundler, bundix }:
+
+bundlerApp {
+  pname = "xcpretty";
+  gemdir = ./.;
+
+  exes = [ "xcpretty" ];
+
+  passthru = {
+    updateScript = ''
+      set -e
+      echo
+      cd ${toString ./.}
+      ${bundler}/bin/bundle lock --update
+      ${bundix}/bin/bundix
+    '';
+  };
+
+  meta = with lib; {
+    description     = "Flexible and fast xcodebuild formatter";
+    homepage        = https://github.com/supermarin/xcpretty;
+    license         = licenses.mit;
+    maintainers     = with maintainers; [
+      nicknovitski
+    ];
+  };
+}
diff --git a/pkgs/development/tools/xcpretty/gemset.nix b/pkgs/development/tools/xcpretty/gemset.nix
new file mode 100644
index 000000000000..30c68a93c13f
--- /dev/null
+++ b/pkgs/development/tools/xcpretty/gemset.nix
@@ -0,0 +1,19 @@
+{
+  rouge = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d";
+      type = "gem";
+    };
+    version = "2.0.7";
+  };
+  xcpretty = {
+    dependencies = ["rouge"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xq47q2h5llj7b54rws4796904vnnjz7qqnacdv7wlp3gdbwrivm";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix
index 35a2bfaed803..af1228108d8f 100644
--- a/pkgs/games/blobby/default.nix
+++ b/pkgs/games/blobby/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "blobby-volley-${version}";
 
   src = fetchurl {
-    url = "http://softlayer-ams.dl.sourceforge.net/project/blobby/Blobby%20Volley%202%20%28Linux%29/1.0/blobby2-linux-1.0.tar.gz";
+    url = "mirror://sourceforge/blobby/Blobby%20Volley%202%20%28Linux%29/1.0/blobby2-linux-1.0.tar.gz";
     sha256 = "1qpmbdlyhfbrdsq4vkb6cb3b8mh27fpizb71q4a21ala56g08yms";
   };
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     homepage = http://blobby.sourceforge.net/;
-    downloadPage = "http://sourceforge.net/projects/blobby/files/Blobby%20Volley%202%20%28Linux%29/";
+    downloadPage = "https://sourceforge.net/projects/blobby/files/Blobby%20Volley%202%20%28Linux%29/";
     inherit version;
   };
 }
diff --git a/pkgs/games/blobby/default.upstream b/pkgs/games/blobby/default.upstream
index e9ab417f5d20..8f2804e07946 100644
--- a/pkgs/games/blobby/default.upstream
+++ b/pkgs/games/blobby/default.upstream
@@ -1,4 +1,4 @@
-url http://sourceforge.net/projects/blobby/files/Blobby%20Volley%202%20%28Linux%29/
+url https://sourceforge.net/projects/blobby/files/Blobby%20Volley%202%20%28Linux%29/
 SF_version_dir
 version_link '[.]tar[.][^.]+/download$'
 SF_redirect
diff --git a/pkgs/games/boohu/default.nix b/pkgs/games/boohu/default.nix
index 92eccd67a1f1..2504e6935abd 100644
--- a/pkgs/games/boohu/default.nix
+++ b/pkgs/games/boohu/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
 
   name = "boohu-${version}";
-  version = "0.10.0";
+  version = "0.11.1";
 
   goPackagePath = "git.tuxfamily.org/boohu/boohu.git";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/boohu/downloads/boohu-${version}.tar.gz";
-    sha256 = "a4d1fc488cfeecbe0a5e9be1836d680951941014f926351692a8dbed9042eba6";
+    sha256 = "0m0ajxiyx8qwxj2zq33s5qpjr65cr33f7dpirg6b4w4y9gyhhv1g";
   };
 
   buildFlags = "--tags ansi";
diff --git a/pkgs/games/crack-attack/default.nix b/pkgs/games/crack-attack/default.nix
index d8de785ef1f8..838bdfc9e498 100644
--- a/pkgs/games/crack-attack/default.nix
+++ b/pkgs/games/crack-attack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, libGLU_combined, libXi, libXmu}:
+{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU_combined, libXi, libXmu }:
 
 stdenv.mkDerivation {
   name = "crack-attack-1.1.14";
@@ -8,10 +8,18 @@ stdenv.mkDerivation {
     sha256 = "1sakj9a2q05brpd7lkqxi8q30bccycdzd96ns00s6jbxrzjlijkm";
   };
 
+  patches = [
+    ./crack-attack-1.1.14-gcc43.patch
+    ./crack-attack-1.1.14-glut.patch
+  ];
+
+  configureFlags = [ "--enable-sound=yes" ];
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 freeglut SDL libGLU_combined libXi libXmu ];
+  buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU_combined libXi libXmu ];
 
   hardeningDisable = [ "format" ];
+  enableParallelBuilding = true;
 
   meta = {
     description = "A fast-paced puzzle game inspired by the classic Super NES title Tetris Attack!";
@@ -20,9 +28,4 @@ stdenv.mkDerivation {
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.piotr ];
   };
-
-  patches = [
-    ./crack-attack-1.1.14-gcc43.patch
-    ./crack-attack-1.1.14-glut.patch
-  ];
 }
diff --git a/pkgs/games/gmad/default.nix b/pkgs/games/gmad/default.nix
index a15914877ccb..78936ec19499 100644
--- a/pkgs/games/gmad/default.nix
+++ b/pkgs/games/gmad/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     else if stdenv.isDarwin then "gmad_osx"
     else "gmad";
 
-  configurePhase = "premake4 --bootil_lib=${bootil}/lib --bootil_inc=${bootil}/include gmake";
+  premakeFlags = "--bootil_lib=${bootil}/lib --bootil_inc=${bootil}/include";
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/games/gshogi/default.nix b/pkgs/games/gshogi/default.nix
index 9759eb8956ab..d3fff64ada6d 100644
--- a/pkgs/games/gshogi/default.nix
+++ b/pkgs/games/gshogi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonApplication, fetchFromGitHub
-, gtk3, gobjectIntrospection
+, gtk3, gobject-introspection
 , wrapGAppsHook, python3Packages }:
 
 buildPythonApplication rec {
@@ -17,7 +17,7 @@ buildPythonApplication rec {
 
   buildInputs = [
     gtk3
-    gobjectIntrospection
+    gobject-introspection
   ];
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/games/hyperrogue/default.nix b/pkgs/games/hyperrogue/default.nix
index 7f7ec00bdd64..99870ca52dee 100644
--- a/pkgs/games/hyperrogue/default.nix
+++ b/pkgs/games/hyperrogue/default.nix
@@ -3,19 +3,21 @@
 
 stdenv.mkDerivation rec {
   name = "hyperrogue-${version}";
-  version = "10.4j";
+  version = "10.5a";
 
   src = fetchFromGitHub {
     owner = "zenorogue";
     repo = "hyperrogue";
     rev = "v${version}";
-    sha256 = "0p0aplfr5hs5dmkgbd4rhvrdk33gss1wdb7knd2vf27n4c2avjcl";
+    sha256 = "1s5jm5qrbw60s8q73fzjk9g2fmapd0i7zmrna2dqx55i1gg9d597";
   };
 
   CPPFLAGS = "-I${SDL.dev}/include/SDL";
 
   buildInputs = [ autoreconfHook SDL SDL_ttf SDL_gfx SDL_mixer libpng glew ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://www.roguetemple.com/z/hyper/;
     description = "A roguelike game set in hyperbolic geometry";
diff --git a/pkgs/games/steam/runtime-wrapped.nix b/pkgs/games/steam/runtime-wrapped.nix
index 1cde38058e7c..a851b5b8d978 100644
--- a/pkgs/games/steam/runtime-wrapped.nix
+++ b/pkgs/games/steam/runtime-wrapped.nix
@@ -11,7 +11,7 @@ let
     libva1
     libvdpau
     vulkan-loader
-    gcc.cc
+    gcc.cc.lib
     nss
     nspr
     xorg.libxcb
diff --git a/pkgs/games/tennix/fix_FTBFS.patch b/pkgs/games/tennix/fix_FTBFS.patch
index 1bbae8acf38d..d58aa3a8129f 100644
--- a/pkgs/games/tennix/fix_FTBFS.patch
+++ b/pkgs/games/tennix/fix_FTBFS.patch
@@ -1,7 +1,7 @@
 From: Thomas Perl <m@thp.io>
 Description: Fix FTBFS 
-Origin: upstream, http://repo.or.cz/w/tennix.git/commitdiff/6144cb7626dfdc0820a0036af83a531e8e68bae6
-Bug-Debian:  http://bugs.debian.org/664907
+Origin: upstream, https://repo.or.cz/w/tennix.git/commitdiff/6144cb7626dfdc0820a0036af83a531e8e68bae6
+Bug-Debian:  https://bugs.debian.org/664907
 
 --- tennix-1.1.orig/archivetool.cc
 +++ tennix-1.1/archivetool.cc
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index 3f6726a17f18..ec529676463f 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -25,9 +25,10 @@ in stdenv.mkDerivation rec {
     sha256 = "0mc5dgh2x9nbili7gy6srjhb23ckalf08wqq2amyjr5rq392jvd7";
   };
 
-  nativeBuildInputs = [ premake4 makeWrapper unzip ];
+  nativeBuildInputs = [ makeWrapper unzip premake4 ];
 
-  # tome4 vendors quite a few libraries so someone might want to look into avoiding that...
+  # tome4 vendors quite a few libraries so someone might want to look
+  # into avoiding that...
   buildInputs = [
     libGLU openal libpng libvorbis SDL2 SDL2_ttf SDL2_image
   ];
@@ -36,20 +37,11 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = false;
 
   NIX_CFLAGS_COMPILE = [
+    "-I${SDL2.dev}/include/SDL2"
     "-I${SDL2_image}/include/SDL2"
     "-I${SDL2_ttf}/include/SDL2"
   ];
 
-  postPatch = ''
-    substituteInPlace premake4.lua \
-      --replace "/opt/SDL-2.0/include/SDL2" "${SDL2.dev}/include/SDL2" \
-      --replace "/usr/include/GL" "/run/opengl-driver/include"
-  '';
-
-  preConfigure = ''
-    premake4 gmake
-  '';
-
   makeFlags = [ "config=release" ];
 
   # The wrapper needs to cd into the correct directory as tome4's detection of
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index 1e2c17814d6f..daf56b27e5d2 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   ];
 
   src = fetchurl {
-    url = "http://launchpad.net/widelands/build${version}/build${version}/+download/widelands-build${version}-src-gcc7.tar.bz2";
+    url = "https://launchpad.net/widelands/build${version}/build${version}/+download/widelands-build${version}-src-gcc7.tar.bz2";
     sha256 = "0n2lb1c2dix32j90nir96zfqivn63izr1pmabjnhns3wbb7vhwzg";
   };
 
diff --git a/pkgs/games/xsnow/default.nix b/pkgs/games/xsnow/default.nix
index 47a321c99b4a..07ed50d4e7b3 100644
--- a/pkgs/games/xsnow/default.nix
+++ b/pkgs/games/xsnow/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libXt, libXpm, libXext, imake }:
+{ stdenv, fetchurl, libXt, libXpm, libXext, imake, gccmakedep }:
 
 stdenv.mkDerivation rec {
 
@@ -10,25 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "06jnbp88wc9i9dbmy7kggplw4hzlx2bhghxijmlhkjlizgqwimyh";
   };
 
+  nativeBuildInputs = [ imake gccmakedep ];
   buildInputs = [
-    libXt libXpm libXext imake
+    libXt libXpm libXext
   ];
 
-  buildPhase = ''
-    xmkmf
-    make
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/man/man1
-    cp xsnow $out/bin/
-    cp xsnow.1 $out/share/man/man1/
-  '';
+  makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
 
   meta = {
     description = "An X-windows application that will let it snow on the root, in between and on windows";
     homepage = http://janswaal.home.xs4all.nl/Xsnow/;
     license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.robberer ];
-  }; 
+  };
 }
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 38ad73d01600..227886e126fc 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -60,7 +60,9 @@ stdenv.mkDerivation rec {
     ++ optional (libpaper != null) "--enable-libpaper"
     ++ optional stdenv.isDarwin "--disable-launchd";
 
+  # AR has to be an absolute path
   preConfigure = ''
+    export AR="${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar"
     configureFlagsArray+=(
       # Put just lib/* and locale into $lib; this didn't work directly.
       # lib/cups is moved back to $out in postInstall.
diff --git a/pkgs/misc/cups/drivers/estudio/default.nix b/pkgs/misc/cups/drivers/estudio/default.nix
index aca668add374..83093da9c0aa 100644
--- a/pkgs/misc/cups/drivers/estudio/default.nix
+++ b/pkgs/misc/cups/drivers/estudio/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
       TOSHIBA e-STUDIO6540C, TOSHIBA e-STUDIO6550C, TOSHIBA e-STUDIO6560C,
       TOSHIBA e-STUDIO6570C and TOSHIBA e-STUDIO7506AC.
     '';
-    homepage = https://www.toshiba-business.com.au/support/drivers;
+    homepage = http://business.toshiba.com/support/downloads/index.html;
     license = licenses.unfree;
     maintainers = [ maintainers.jpotier ];
   };
diff --git a/pkgs/misc/drivers/hplip/3.16.11.nix b/pkgs/misc/drivers/hplip/3.16.11.nix
index 0c6ff464a622..8982834d9a99 100644
--- a/pkgs/misc/drivers/hplip/3.16.11.nix
+++ b/pkgs/misc/drivers/hplip/3.16.11.nix
@@ -23,7 +23,7 @@ let
   };
 
   hplipState = substituteAll {
-    version_ = version;
+    inherit version;
     src = ./hplip.state;
   };
 
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index e2c34473e544..f03d75dfa02d 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -25,7 +25,7 @@ let
   };
 
   hplipState = substituteAll {
-    version_ = version;
+    inherit version;
     src = ./hplip.state;
   };
 
diff --git a/pkgs/misc/drivers/hplip/hplip.state b/pkgs/misc/drivers/hplip/hplip.state
index 3c7c2eb2df7b..9d19a93f3644 100644
--- a/pkgs/misc/drivers/hplip/hplip.state
+++ b/pkgs/misc/drivers/hplip/hplip.state
@@ -1,4 +1,4 @@
 [plugin]
 installed=1
 eula=1
-version=@version_@
+version=@version@
diff --git a/pkgs/misc/drivers/sc-controller/default.nix b/pkgs/misc/drivers/sc-controller/default.nix
index b504002b7d9a..d9f68b3e2ec7 100644
--- a/pkgs/misc/drivers/sc-controller/default.nix
+++ b/pkgs/misc/drivers/sc-controller/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonApplication, fetchFromGitHub, wrapGAppsHook
-, gtk3, gobjectIntrospection, libappindicator-gtk3, librsvg
+, gtk3, gobject-introspection, libappindicator-gtk3, librsvg
 , evdev, pygobject3, pylibacl, pytest, bluez
 , linuxHeaders
 , libX11, libXext, libXfixes, libusb1, udev
@@ -18,7 +18,7 @@ buildPythonApplication rec {
 
   nativeBuildInputs = [ wrapGAppsHook ];
 
-  buildInputs = [ gtk3 gobjectIntrospection libappindicator-gtk3 librsvg ];
+  buildInputs = [ gtk3 gobject-introspection libappindicator-gtk3 librsvg ];
 
   propagatedBuildInputs = [ evdev pygobject3 pylibacl ];
 
diff --git a/pkgs/misc/screensavers/xautolock/default.nix b/pkgs/misc/screensavers/xautolock/default.nix
index 0c1446f0672f..cce4b351c577 100644
--- a/pkgs/misc/screensavers/xautolock/default.nix
+++ b/pkgs/misc/screensavers/xautolock/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, xlibsWrapper, imake, libXScrnSaver, scrnsaverproto }:
+{ stdenv, fetchurl, xlibsWrapper
+, imake, gccmakedep, libXScrnSaver, scrnsaverproto }:
 
 stdenv.mkDerivation rec {
   name = "xautolock-2.2";
@@ -14,10 +15,13 @@ stdenv.mkDerivation rec {
     })
   ];
   NIX_CFLAGS_COMPILE = "-DSYSV";
-  makeFlags="BINDIR=\${out}/bin MANPATH=\${out}/man";
-  preBuild = "xmkmf";
+  makeFlags = [
+    "BINDIR=$(out)/bin"
+    "MANPATH=$(out)/share/man"
+  ];
   installTargets = "install install.man";
-  buildInputs = [xlibsWrapper imake libXScrnSaver scrnsaverproto];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ xlibsWrapper libXScrnSaver scrnsaverproto ];
   meta = with stdenv.lib; {
     description = "A program that launches a given program when your X session has been idle for a given time.";
     homepage = http://www.ibiblio.org/pub/linux/X11/screensavers;
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
index bccc55914fea..2cff1edfc51e 100644
--- a/pkgs/misc/seafile-shared/default.nix
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, which, autoreconfHook, pkgconfig, curl, vala, python, intltool, fuse, ccnet}:
 
 stdenv.mkDerivation rec {
-  version = "6.2.5";
+  version = "6.2.7";
   name = "seafile-shared-${version}";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile";
     rev = "v${version}";
-    sha256 = "1s8cqh5wfll81d060f4zknxhmwwqckci6dadmslbvbvx55lgyspa";
+    sha256 = "0f8h7x6q830q4pw6f6bbykiyj3lkdlgvjzg2sdaqm4bhj2c4k1n0";
   };
 
   nativeBuildInputs = [ pkgconfig which autoreconfHook vala intltool ];
diff --git a/pkgs/misc/themes/nordic/default.nix b/pkgs/misc/themes/nordic/default.nix
index 3945a7310cd4..ac24e35c66f7 100644
--- a/pkgs/misc/themes/nordic/default.nix
+++ b/pkgs/misc/themes/nordic/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "nordic-${version}";
-  version = "1.2.1";
+  version = "1.3.0";
 
   srcs = [
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic.tar.xz";
-      sha256 = "1k8fzvjb92wcqha378af5hk6r75xanff9iwlx51jmi67ny8z28pn";
+      sha256 = "04axs2yldppcx159nwj70g4cyw0hbbzk5250677i9ny8b0w3gr9x";
     })
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-standard-buttons.tar.xz";
-      sha256 = "12w01z88rqkds1wm2kskql1x5c6prpgpc9cxxnl0b11knsfhi6jn";
+      sha256 = "1h0690cijaipidb5if2bxhvvkrx5src3akyxvfywxg4bf8x7jxs5";
     })
   ];
 
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 4cde30556a33..f5053c2ec6e8 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -19,6 +19,7 @@ let
   overrides = callPackage ./overrides.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices;
     inherit buildVimPluginFrom2Nix;
+    inherit llvmPackages;
   };
 
   overriden = generated // (overrides generated);
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index bc4f0faefb40..e7d95fb50b57 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -101,12 +101,15 @@ with generated;
     preFixup = ''
       substituteInPlace "$out"/share/vim-plugins/clang_complete/plugin/clang_complete.vim \
         --replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.clang.cc.lib}/lib/libclang.so'"
+
+      substituteInPlace "$out"/share/vim-plugins/clang_complete/plugin/libclang.py \
+        --replace "/usr/lib/clang" "${llvmPackages.clang.cc}/lib/clang"
     '';
   });
 
   clighter8 = clighter8.overrideAttrs(old: {
     preFixup = ''
-      sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc}/lib/libclang.so')|" \
+      sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \
         -i "$out"/share/vim-plugins/clighter8/plugin/clighter8.vim
     '';
   });
diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix
index 539d03d66fe1..06f86582d535 100644
--- a/pkgs/misc/vscode-extensions/cpptools/default.nix
+++ b/pkgs/misc/vscode-extensions/cpptools/default.nix
@@ -34,8 +34,9 @@ let
     name = "cpptools-language-component-binaries";
 
     src = fetchzip {
-      url = "https://download.visualstudio.microsoft.com/download/pr/e8bc2ccc-bb10-4d40-8e29-edcd78986e9a/2e86fa29aefdbde2ea2cd1a6fceadeaa/bin_linux.zip";
-      sha256 = "1hvrbp3c4733aryslgyh3l5azmqkw398j2wbgr3w788fphg4v6cc";
+      # Follow https://go.microsoft.com/fwlink/?linkid=2037608
+      url = "https://download.visualstudio.microsoft.com/download/pr/97ed3eeb-b31e-421c-92dc-4f3a98af301e/069a1e6ab1b4b017853a7e9e08067744/bin_linux.zip";
+      sha256 = "19flm4vcrg89x0b20bd0g45apabzfqgvcpjddnmyk312jc242gmb";
     };
 
     patchPhase = ''
@@ -67,8 +68,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "cpptools";
     publisher = "ms-vscode";
-    version = "0.19.0";
-    sha256 = "1x97mz859bzr4gxy6cnqgd8qmvnrjn9zdxh457slsxsk4wqcfmgj";
+    version = "0.20.1";
+    sha256 = "1gmnkrn26n57vx2nm5hhalkkl2irak38m2lklgja0bi10jb6y08l";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index ad21a6a4dcd6..c8edd865479e 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     description = "Audit Library";
-    homepage = http://people.redhat.com/sgrubb/audit/;
+    homepage = https://people.redhat.com/sgrubb/audit/;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
diff --git a/pkgs/os-specific/linux/bridge-utils/default.nix b/pkgs/os-specific/linux/bridge-utils/default.nix
index b8ece86c1401..2725a5909b7b 100644
--- a/pkgs/os-specific/linux/bridge-utils/default.nix
+++ b/pkgs/os-specific/linux/bridge-utils/default.nix
@@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "http://sourceforge.net/projects/bridge/";
-    homepage = http://www.linux-foundation.org/en/Net:Bridge/;
-    license = "GPL";
+    description = "https://sourceforge.net/projects/bridge/";
+    homepage = https://wiki.linuxfoundation.org/networking/bridge;
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/fatrace/default.nix b/pkgs/os-specific/linux/fatrace/default.nix
index fb1a3e563884..94ea85f433d9 100644
--- a/pkgs/os-specific/linux/fatrace/default.nix
+++ b/pkgs/os-specific/linux/fatrace/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.13";
 
   src = fetchurl {
-    url = "http://launchpad.net/fatrace/trunk/${version}/+download/${name}.tar.bz2";
+    url = "https://launchpad.net/fatrace/trunk/${version}/+download/${name}.tar.bz2";
     sha256 = "0hrh45bpzncw0jkxw3x2smh748r65k2yxvfai466043bi5q0d2vx";
   };
 
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 553b3804a038..0e982d54a9e0 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -52,6 +52,6 @@ stdenv.mkDerivation {
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
     homepage = https://l3net.wordpress.com/projects/firejail/;
-    downloadPage = "http://sourceforge.net/projects/firejail/files/firejail/";
+    downloadPage = "https://sourceforge.net/projects/firejail/files/firejail/";
   };
 }
diff --git a/pkgs/os-specific/linux/firejail/default.upstream b/pkgs/os-specific/linux/firejail/default.upstream
index 186dd4408b74..0e6576c44a80 100644
--- a/pkgs/os-specific/linux/firejail/default.upstream
+++ b/pkgs/os-specific/linux/firejail/default.upstream
@@ -1,3 +1,3 @@
-url http://sourceforge.net/projects/firejail/files/firejail/
+url https://sourceforge.net/projects/firejail/files/firejail/
 version_link '[-][0-9.]+[.]tar[.][a-z0-9]+/download$'
 SF_redirect
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index eabb27f6ae2f..f006565a95d6 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk-doc, pkgconfig, gobjectIntrospection, intltool
+{ stdenv, fetchurl, gtk-doc, pkgconfig, gobject-introspection, intltool
 , libgudev, polkit, appstream-glib, gusb, sqlite, libarchive, glib-networking
 , libsoup, help2man, gpgme, libxslt, elfutils, libsmbios, efivar, glibcLocales
 , gnu-efi, libyaml, valgrind, meson, libuuid, colord, docbook_xml_dtd_43, docbook_xsl
@@ -24,7 +24,7 @@ in stdenv.mkDerivation {
   outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];
 
   nativeBuildInputs = [
-    meson ninja gtk-doc pkgconfig gobjectIntrospection intltool glibcLocales shared-mime-info
+    meson ninja gtk-doc pkgconfig gobject-introspection intltool glibcLocales shared-mime-info
     valgrind gcab docbook_xml_dtd_43 docbook_xsl help2man libxslt python wrapGAppsHook vala
   ];
   buildInputs = [
diff --git a/pkgs/os-specific/linux/fusionio/srcs.nix b/pkgs/os-specific/linux/fusionio/srcs.nix
deleted file mode 100644
index fb632a6e9fba..000000000000
--- a/pkgs/os-specific/linux/fusionio/srcs.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ fetchurl }:
-rec {
-  version = "3.2.10";
-
-  libvsl = fetchurl {
-    name = "fusionio-libvsl-${version}.deb";
-    url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2Wc01uNk1nVURMVFk";
-    sha256 = "1i8ii9dlyskj2dvad7nfvlm1wz2s4gy5llbl29hfa13w6nhcl5wk";
-  };
-
-  util = fetchurl {
-    name = "fusionio-util-${version}.deb";
-    url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2WbDVuQkwzWjZONGs";
-    sha256 = "0aw64kk5cwchjhqh5n1lpqrrh5gn4qdalnmasd25z7sijy2flxgq";
-  };
-
-  vsl = fetchurl {
-    name = "fusionio-iomemory-vsl-${version}.tar.gz";
-    url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2WbXFMbExEMUFCcWM";
-    sha256 = "1zm20aa1jmmqcqkb4p9r4jsgbg371zr1abdz32rw02i9687fsgcc";
-  };
-}
diff --git a/pkgs/os-specific/linux/fusionio/util.nix b/pkgs/os-specific/linux/fusionio/util.nix
deleted file mode 100644
index 6327a95f39d7..000000000000
--- a/pkgs/os-specific/linux/fusionio/util.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, dpkg, glibc, gcc, libuuid }:
-
-let
-  srcs = import ./srcs.nix { inherit fetchurl; };
-in
-stdenv.mkDerivation {
-  name = "fusionio-util-${srcs.version}";
-
-  nativeBuildInputs = [ dpkg ];
-
-  buildCommand = ''
-    dpkg-deb -R ${srcs.libvsl} $TMPDIR
-    dpkg-deb -R ${srcs.util} $TMPDIR
-
-    rm $TMPDIR/usr/bin/fio-{bugreport,sanitize}
-
-    mkdir -p $out
-    cp -r $TMPDIR/{etc,usr/{bin,lib,share}} $out
-    for BIN in $(find $out/bin -type f); do
-      echo Patching $BIN
-      patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" --set-rpath "${stdenv.lib.makeLibraryPath [ glibc gcc.cc libuuid ] }:$out/lib" $BIN
-
-      # Test our binary to see if it was correctly patched
-      set +e
-      $BIN --help >/dev/null 2>&1
-      ST="$?"
-      set -e
-      if [ "$ST" -ge "10" ]; then
-        echo "Failed testing $BIN"
-        exit 1;
-      fi
-    done
-  '';
-
-  dontStrip = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://fusionio.com;
-    description = "Fusionio command line utilities";
-    license = licenses.unfree;
-    platforms = [ "x86_64-linux" ];
-    broken = stdenv.hostPlatform.system != "x86_64-linux";
-    maintainers = with maintainers; [ wkennington ];
-  };
-}
diff --git a/pkgs/os-specific/linux/fusionio/vsl-fix-file-inode.patch b/pkgs/os-specific/linux/fusionio/vsl-fix-file-inode.patch
deleted file mode 100644
index 25887ceee0f6..000000000000
--- a/pkgs/os-specific/linux/fusionio/vsl-fix-file-inode.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/kfile.c b/kfile.c
-index 5014e77..a65d921 100644
---- a/kfile.c
-+++ b/kfile.c
-@@ -51,7 +51,7 @@ fusion_inode * noinline kfio_fs_inode(fusion_file *fp)
- #if KFIOC_STRUCT_FILE_HAS_PATH
-     return (fusion_inode *) ((struct file *)fp)->f_path.dentry->d_inode;
- #else
--    return (fusion_inode *) ((struct file *)fp)->f_dentry->d_inode;
-+    return (fusion_inode *) file_inode((struct file *)fp);
- #endif
- }
- 
diff --git a/pkgs/os-specific/linux/fusionio/vsl.nix b/pkgs/os-specific/linux/fusionio/vsl.nix
deleted file mode 100644
index 6ebe2e0cdaf5..000000000000
--- a/pkgs/os-specific/linux/fusionio/vsl.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchurl, kernel }:
-
-let
-  srcs = import ./srcs.nix { inherit fetchurl; };
-in
-stdenv.mkDerivation rec {
-  name = "fusionio-iomemory-vsl-${srcs.version}";
-
-  src = srcs.vsl;
-
-  hardeningDisable = [ "pic" ];
-
-  prePatch = ''
-    cd root/usr/src/iomemory-vsl-*
-  '';
-
-  patches = stdenv.lib.optional (stdenv.lib.versionAtLeast kernel.version "3.19") ./vsl-fix-file-inode.patch;
-
-  preBuild = ''
-    sed -i Makefile kfio_config.sh \
-      -e "s,\(KERNELDIR=\"\|KERNEL_SRC =\)[^\"]*,\1${kernel.dev}/lib/modules/${kernel.modDirVersion}/build,g"
-    export DKMS_KERNEL_VERSION=${kernel.modDirVersion}
-    export TARGET="x86_64_cc48"
-  '';
-
-  installPhase = ''
-    export INSTALL_ROOT=$out
-    make modules_install
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://fusionio.com;
-    description = "Kernel driver for accessing fusion-io cards";
-    license = licenses.unfree;
-    platforms = [ "x86_64-linux" ];
-    broken = stdenv.hostPlatform.system != "x86_64-linux";
-    maintainers = with maintainers; [ wkennington ];
-  };
-}
diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix
index 89afecbd9ccd..942cafd03435 100644
--- a/pkgs/os-specific/linux/gogoclient/default.nix
+++ b/pkgs/os-specific/linux/gogoclient/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     #url = http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz;
-    url = http://src.fedoraproject.org/repo/pkgs/gogoc/gogoc-1_2-RELEASE.tar.gz/41177ed683cf511cc206c7782c37baa9/gogoc-1_2-RELEASE.tar.gz;
+    url = https://src.fedoraproject.org/repo/pkgs/gogoc/gogoc-1_2-RELEASE.tar.gz/41177ed683cf511cc206c7782c37baa9/gogoc-1_2-RELEASE.tar.gz;
     sha256 = "a0ef45c0bd1fc9964dc8ac059b7d78c12674bf67ef641740554e166fa99a2f49";
   };
   patches = [./gcc46-include-fix.patch ./config-paths.patch ];
diff --git a/pkgs/os-specific/linux/ioport/default.nix b/pkgs/os-specific/linux/ioport/default.nix
index 56e622df2ce8..c14d9f146eb0 100644
--- a/pkgs/os-specific/linux/ioport/default.nix
+++ b/pkgs/os-specific/linux/ioport/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   buildInputs = [ perl ];
   meta = with stdenv.lib; {
     description = "Direct access to I/O ports from the command line";
-    homepage = http://people.redhat.com/rjones/ioport/;
+    homepage = https://people.redhat.com/rjones/ioport/;
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ maintainers.cleverca22 ];
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index b94e34c8f6c4..ec9aed402bf4 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -641,6 +641,7 @@ let
       MEGARAID_NEWGEN       = yes;
 
       MLX4_EN_VXLAN = whenOlder "4.8" yes;
+      MLX5_CORE_EN       = option yes;
 
       MODVERSIONS        = whenOlder "4.9" yes;
       MOUSE_PS2_ELANTECH = yes; # Elantech PS/2 protocol extension
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 69ce2fe71c6c..6254ed7fac04 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.83";
+  version = "4.14.84";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "081zxc7ikcn1hy22pw5af0dql9pq24h2anfgnykc83jfjbg2h5vh";
+    sha256 = "0653fg6p0wg81i4mj8n4lghn8h8jx3pkbyp6sm22p2b1rwpgj893";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 13e4a56f4712..54b03fc88be3 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.4";
+  version = "4.19.5";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1aj7zwrjwrjb3m3nfccykmcvhrrjsk1zchc5g4f63xd1pc35d3x3";
+    sha256 = "0xggarlff54l9zxm5qr14nzd514xxg8i1akyxzlb0znfkk19x0wc";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index b0733857c80e..01bcc6f25250 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.164";
+  version = "4.4.165";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "041w65dxsdcdpf7isis2r4xabfm9pbhfgxxx7n9d1nv7grss3d4v";
+    sha256 = "19zmigb1avq63n0cbvsqaw9ygddwx13mrvl80p92abw7ns26b2va";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 35fd90b61602..2fc57a104eaf 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.140";
+  version = "4.9.141";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0hzrha3rh90jwxjmrh4npd0q56pf512nmb8i2p484k9cikssx27q";
+    sha256 = "09mc5sxzzxmks20vslimaaaw0aamjcc3lvpyjydmr78s25q5zfsp";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 096b3ecde22a..2d0fe730451e 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -25,7 +25,7 @@ lib.overrideDerivation (buildLinux (args // rec {
     efiBootStub = false;
   } // (args.features or {});
 
-  extraMeta.hydraPlatforms = [];
+  extraMeta.hydraPlatforms = with stdenv.lib.platforms; [ aarch64 ];
 })) (oldAttrs: {
   postConfigure = ''
     # The v7 defconfig has this set to '-v7' which screws up our modDirVersion.
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 36aafe9a4a21..0c4158790bdc 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.20-rc3";
-  modDirVersion = "4.20.0-rc3";
+  version = "4.20-rc4";
+  modDirVersion = "4.20.0-rc4";
   extraMeta.branch = "4.20";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "0iin34alr5ax15pvilhdn5pifqav4gkxalb7vqb8zvxnhsm6kk58";
+    sha256 = "0kni1l1gk9mva7ym091mrkn9f2bdbh80i7589ahk6j5blpj9m3ns";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 5e04dc51f3fc..8b8f5a05f942 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = http://people.redhat.com/dhowells/keyutils/;
+    homepage = https://people.redhat.com/dhowells/keyutils/;
     description = "Tools used to control the Linux kernel key management system";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/libcap-ng/default.nix b/pkgs/os-specific/linux/libcap-ng/default.nix
index 845e4e704eba..e530850221c0 100644
--- a/pkgs/os-specific/linux/libcap-ng/default.nix
+++ b/pkgs/os-specific/linux/libcap-ng/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = let inherit (stdenv.lib) platforms licenses maintainers; in {
     description = "Library for working with POSIX capabilities";
-    homepage = http://people.redhat.com/sgrubb/libcap-ng/;
+    homepage = https://people.redhat.com/sgrubb/libcap-ng/;
     platforms = platforms.linux;
     license = licenses.lgpl21;
     maintainers = with maintainers; [ wkennington ];
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 9df789e8a2c7..49f1500f2068 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -40,11 +40,11 @@ rec {
   beta = stable;
 
   legacy_340 = generic {
-    version = "340.104";
-    sha256_32bit = "1l8w95qpxmkw33c4lsf5ar9w2fkhky4x23rlpqvp1j66wbw1b473";
-    sha256_64bit = "18k65gx6jg956zxyfz31xdp914sq3msn665a759bdbryksbk3wds";
-    settingsSha256 = "1vvpqimvld2iyfjgb9wvs7ca0b0f68jzfdpr0icbyxk4vhsq7sxk";
-    persistencedSha256 = "0zqws2vsrxbxhv6z0nn2galnghcsilcn3s0f70bpm6jqj9wzy7x8";
+    version = "340.107";
+    sha256_32bit = "0mh83affz6bim26ws7kkwwcfj2s6vkdy4d45hifsbshr82qd52wd";
+    sha256_64bit = "0pv9yv3x0kg9hfkmc50xb54ahxkbnyy2vyy4hj2h0s6m9sb5kqz3";
+    settingsSha256 = "1rgaa24acdyqa1rqrx56293vxpskr792njqqpigqmps04llsx703";
+    persistencedSha256 = "0nwv6kh4gxgy80x1zs6gcg5hy3amg25xhsfa2v4mwqa36sblxz6l";
     useGLVND = false;
 
     patches = maybePatch_drm_legacy ++ [ ./vm_operations_struct-fault.patch ];
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix
index 480554313048..a2644fcbc3fd 100644
--- a/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, fetchFromGitHub, automake, autoconf, libtool, gettext, utillinux, openisns, openssl, kmod }:
+{ stdenv, fetchFromGitHub, automake, autoconf, libtool, gettext
+, utillinux, openisns, openssl, kmod, perl, systemd, pkgconf
+}:
+
 stdenv.mkDerivation rec {
   name = "open-iscsi-${version}";
-  version = "2.0-873-${stdenv.lib.substring 0 7 src.rev}";
+  version = "2.0.877";
+
+  nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ];
+  buildInputs = [ kmod openisns.lib openssl systemd utillinux ];
 
-  buildInputs = [ automake autoconf libtool gettext utillinux openisns.lib openssl kmod ];
-  
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo = "open-iscsi";
-    rev = "4c1f2d90ef1c73e33d9f1e4ae9c206ffe015a8f9";
-    sha256 = "0h030zk4zih3l8z5662b3kcifdxlakbwwkz1afb7yf0cicds7va8";
+    rev = version;
+    sha256 = "0v3dsrl34pdx0yl5jsanrpgg3vw466rl8k81hkshgq3a5mq5qhf6";
   };
-  
+
   DESTDIR = "$(out)";
-  
-  NIX_LDFLAGS = "-lkmod";
+
+  NIX_LDFLAGS = "-lkmod -lsystemd";
   NIX_CFLAGS_COMPILE = "-DUSE_KMOD";
 
   preConfigure = ''
     sed -i 's|/usr|/|' Makefile
   '';
-  
+
   postInstall = ''
     cp usr/iscsistart $out/sbin/
     $out/sbin/iscsistart -v
@@ -28,9 +32,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A high performance, transport independent, multi-platform implementation of RFC3720";
-    license = licenses.gpl2Plus;
-    homepage = http://www.open-iscsi.com;
+    license = licenses.gpl2;
+    homepage = https://www.open-iscsi.com;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cleverca22 ];
+    maintainers = with maintainers; [ cleverca22 zaninime ];
   };
 }
diff --git a/pkgs/os-specific/linux/piper/default.nix b/pkgs/os-specific/linux/piper/default.nix
index a3ae0b74f126..9be17ade149e 100644
--- a/pkgs/os-specific/linux/piper/default.nix
+++ b/pkgs/os-specific/linux/piper/default.nix
@@ -1,6 +1,6 @@
 { stdenv, meson, ninja, pkgconfig, gettext, fetchFromGitHub, python3
 , wrapGAppsHook, gtk3, glib, desktop-file-utils, appstream-glib, gnome3
-, gobjectIntrospection }:
+, gobject-introspection }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "piper-${version}";
@@ -15,7 +15,7 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "1ny0vf8ym9v040cb5h084k5wwn929fnhq9infbdq8f8vvy61magb";
   };
 
-  nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook desktop-file-utils appstream-glib gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ];
   buildInputs = [ gtk3 glib gnome3.defaultIconTheme python3 ];
   propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ];
 
diff --git a/pkgs/os-specific/linux/pommed-light/default.nix b/pkgs/os-specific/linux/pommed-light/default.nix
index 3ee5e312d233..06ea49034a01 100644
--- a/pkgs/os-specific/linux/pommed-light/default.nix
+++ b/pkgs/os-specific/linux/pommed-light/default.nix
@@ -1,8 +1,7 @@
-{
-  stdenv
-, fetchurl
+{ stdenv
+, fetchFromGitHub
 , pciutils
-, confuse
+, libconfuse
 , alsaLib
 , audiofile
 , pkgconfig
@@ -15,10 +14,11 @@ stdenv.mkDerivation rec {
   version = "1.51lw";
   name = "${pkgname}-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/bytbox/${pkgname}/archive/v${version}.tar.gz";
-
-    sha256 = "11wi17bh2br1hp8gmq40b1hm5drm6h969505f7432zam3cm8mc8q";
+  src = fetchFromGitHub {
+    owner = "bytbox";
+    repo = pkgname;
+    rev = "v${version}";
+    sha256 = "18fvdwwhcl6s4bpf2f2i389s71c8k4g0yb81am9rdddqmzaw27iy";
   };
 
   postPatch = ''
@@ -28,12 +28,12 @@ stdenv.mkDerivation rec {
     substituteInPlace pommed/cd_eject.c --replace /usr/bin/eject ${eject}/bin/eject
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     pciutils
-    confuse
+    libconfuse
     alsaLib
     audiofile
-    pkgconfig
     zlib
     eject
   ];
diff --git a/pkgs/os-specific/linux/pommed/default.nix b/pkgs/os-specific/linux/pommed/default.nix
deleted file mode 100644
index 3698b2b281f9..000000000000
--- a/pkgs/os-specific/linux/pommed/default.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ 
-  stdenv
-, fetchurl
-, pciutils
-, confuse
-, dbus, dbus-glib
-, alsaLib
-, audiofile
-, pkgconfig
-, gtk2
-, gettext
-, libXpm
-}:
-
-let
-
-  build_flags_patch = fetchurl {
-    url = http://patch-tracker.debian.org/patch/series/dl/pommed/1.39~dfsg-2/build_flags.patch;
-    sha256 = "109n5v0m91fqf8vqnpqg1zw8mk8fi9pkzqsfrmlavalg4xz49x9j";
-  }; 
-
-in
-
-stdenv.mkDerivation rec {
-  name = "pommed-1.39";
-
-  src = fetchurl {
-    url = "http://alioth.debian.org/frs/download.php/3583/${name}.tar.gz";
-    sha256 = "18lxywmikanjr5pk1jdqda88dxd2579fpyd332xn4njjhlgwy5fp";
-  };
-
-  patches = [ build_flags_patch ./find-eject-in-path.patch ];
-
-  buildInputs = [
-    pciutils
-    confuse
-    dbus
-    alsaLib
-    audiofile
-    dbus-glib
-    pkgconfig
-    gtk2
-    gettext
-    libXpm
-  ];
-
-  installPhase = ''
-    mkdir -pv $out/bin $out/etc/init.d $out/etc/dbus-1/system.d \
-      $out/share/pommed $out/share/gpomme $out/share/applications \
-      $out/share/icons/hicolor/scalable/apps $out/share/pixmaps
-
-    install -v -m755 pommed/pommed wmpomme/wmpomme gpomme/gpomme $out/bin
-    install -v -m644 pommed/data/* $out/share/pommed
-    install -v -m644 pommed.conf.mactel $out/etc/pommed.conf
-    install -v -m644 pommed.init $out/etc/init.d
-    install -v -m644 dbus-policy.conf $out/etc/dbus-1/system.d/pommed.conf
-
-    cp -av gpomme/themes $out/share/gpomme
-    for lang in de es fr it ja; do
-      mkdir -pv $out/share/locale/"$lang"/LC_MESSAGES
-      install -v -m644 gpomme/po/"$lang".mo $out/share/locale/"$lang"/LC_MESSAGES/gpomme.mo
-    done
-    install -v -m644 gpomme/gpomme*.desktop $out/share/applications
-    for size in 128 16 192 22 24 32 36 48 64 72 96; do
-      mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps
-      install -v -m644 icons/gpomme_"$size"x"$size".png \
-        $out/share/icons/hicolor/"$size"x"$size"/apps
-    done
-    install -v -m644 icons/gpomme.svg  $out/share/icons/hicolor/scalable/apps
-
-    install -v -m644 icons/gpomme_192x192.xpm $out/share/pixmaps/wmpomme.xpm
-  '';
-
-  meta = {
-    description = "A tool to handle hotkeys on Apple laptop keyboards";
-    homepage = http://www.technologeek.org/projects/pommed/index.html;
-    license = stdenv.lib.licenses.gpl2;
-    broken = true; # hash changed, and it's quite suspicious
-  };
-}
diff --git a/pkgs/os-specific/linux/pommed/find-eject-in-path.patch b/pkgs/os-specific/linux/pommed/find-eject-in-path.patch
deleted file mode 100644
index d021a0290eeb..000000000000
--- a/pkgs/os-specific/linux/pommed/find-eject-in-path.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur pommed-1.39-orig/pommed/cd_eject.c pommed-1.39/pommed/cd_eject.c
---- pommed-1.39-orig/pommed/cd_eject.c	2011-06-02 05:24:05.000000000 -0400
-+++ pommed-1.39/pommed/cd_eject.c	2012-03-20 14:25:33.397712520 -0400
-@@ -100,7 +100,7 @@
-       for (fd = 3; fd < max_fd; fd++)
- 	close(fd);
- 
--      execve("/usr/bin/eject", eject_argv, eject_envp);
-+      execvpe("eject", eject_argv, eject_envp);
- 
-       logmsg(LOG_ERR, "Could not execute eject: %s", strerror(errno));
-       exit(1);
diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix
index d8880542e518..37f1362e14ea 100644
--- a/pkgs/os-specific/linux/reptyr/default.nix
+++ b/pkgs/os-specific/linux/reptyr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, lib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   version = "0.6.2";
@@ -20,9 +20,15 @@ stdenv.mkDerivation rec {
 
   makeFlags = ["PREFIX=$(out)"];
   meta = {
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = with stdenv.lib.maintainers; [raskin];
-    license = stdenv.lib.licenses.mit;
-    description = ''A Linux tool to change controlling pty of a process'';
+    platforms = [
+      "i686-linux"
+      "x86_64-linux"
+      "i686-freebsd"
+      "x86_64-freebsd"
+    ] ++ lib.platforms.arm;
+    maintainers = with lib.maintainers; [raskin];
+    license = lib.licenses.mit;
+    description = "Reparent a running program to a new terminal";
+    homepage = https://github.com/nelhage/reptyr;
   };
 }
diff --git a/pkgs/os-specific/linux/sssd/default.nix b/pkgs/os-specific/linux/sssd/default.nix
index 4224c4900db6..7ee0f8d4ba18 100644
--- a/pkgs/os-specific/linux/sssd/default.nix
+++ b/pkgs/os-specific/linux/sssd/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, pkgs, glibc, augeas, dnsutils, c-ares, curl,
+{ stdenv, fetchurl, fetchpatch, glibc, augeas, dnsutils, c-ares, curl,
   cyrus_sasl, ding-libs, libnl, libunistring, nss, samba, nfs-utils, doxygen,
   python, python3, pam, popt, talloc, tdb, tevent, pkgconfig, ldb, openldap,
   pcre, kerberos, cifs-utils, glib, keyutils, dbus, fakeroot, libxslt, libxml2,
   libuuid, ldap, systemd, nspr, check, cmocka, uid_wrapper,
-  nss_wrapper, ncurses, Po4a, http-parser, jansson
-  , withSudo ? false }:
+  nss_wrapper, ncurses, Po4a, http-parser, jansson,
+  docbook_xsl, docbook_xml_dtd_44,
+  withSudo ? false }:
 
 let
-  docbookFiles = "${pkgs.docbook_xsl}/share/xml/docbook-xsl/catalog.xml:${pkgs.docbook_xml_dtd_44}/xml/dtd/docbook/catalog.xml";
+  docbookFiles = "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml:${docbook_xml_dtd_44}/xml/dtd/docbook/catalog.xml";
 in
 stdenv.mkDerivation rec {
   name = "sssd-${version}";
@@ -18,13 +19,21 @@ stdenv.mkDerivation rec {
     sha256 = "032ppk57qs1lnvz7pb7lw9ldwm9i1yagh9fzgqgn6na3bg61ynzy";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "duplicate-case-value.diff";
+      url = "https://github.com/SSSD/sssd/commit/1ee12b05570fcfb8.diff";
+      sha256 = "01y8i8cfs2gydn84097cl5fynx0db8b0vr345gh57ypp84in3ixw";
+    })
+  ];
+
   # Something is looking for <libxml/foo.h> instead of <libxml2/libxml/foo.h>
   NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
 
   preConfigure = ''
     export SGML_CATALOG_FILES="${docbookFiles}"
     export PYTHONPATH=${ldap}/lib/python2.7/site-packages
-    export PATH=$PATH:${pkgs.openldap}/libexec
+    export PATH=$PATH:${openldap}/libexec
 
     configureFlagsArray=(
       --prefix=$out
diff --git a/pkgs/os-specific/linux/targetcli/default.nix b/pkgs/os-specific/linux/targetcli/default.nix
new file mode 100644
index 000000000000..b8990484cb98
--- /dev/null
+++ b/pkgs/os-specific/linux/targetcli/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, python, fetchFromGitHub }:
+
+python.pkgs.buildPythonApplication rec {
+  pname = "targetcli";
+  version = "2.1.fb49";
+
+  src = fetchFromGitHub {
+    owner = "open-iscsi";
+    repo = "${pname}-fb";
+    rev = "v${version}";
+    sha256 = "093dmwc5g6yz4cdgpbfszmc97i7nd286w4x447dvg22hvwvjwqhh";
+  };
+
+  propagatedBuildInputs = with python.pkgs; [ configshell rtslib ];
+
+  meta = with stdenv.lib; {
+    description = "A command shell for managing the Linux LIO kernel target";
+    homepage = https://github.com/open-iscsi/targetcli-fb;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/tiptop/default.nix b/pkgs/os-specific/linux/tiptop/default.nix
index 6155f9ed4bf4..3c833de8b0c3 100644
--- a/pkgs/os-specific/linux/tiptop/default.nix
+++ b/pkgs/os-specific/linux/tiptop/default.nix
@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
 
   patches = [(fetchpatch {
     name = "reproducibility.patch";
-    url = "http://anonscm.debian.org/cgit/collab-maint/tiptop.git/plain/debian/"
-      + "patches/0001-fix-reproducibility-of-build-process.patch?id=c777d0d5803";
+    url = "https://salsa.debian.org/debian/tiptop/raw/debian/2.3.1-1/debian/patches/0001-fix-reproducibility-of-build-process.patch";
     sha256 = "116l7n3nl9lj691i7j8x0d0za1i6zpqgghw5d70qfpb17c04cblp";
   })];
 
diff --git a/pkgs/os-specific/linux/tiscamera/default.nix b/pkgs/os-specific/linux/tiscamera/default.nix
index d4d6ae18ce62..53b6cbc3401a 100644
--- a/pkgs/os-specific/linux/tiscamera/default.nix
+++ b/pkgs/os-specific/linux/tiscamera/default.nix
@@ -8,7 +8,7 @@
 , libusb1
 , libzip
 , glib
-, gobjectIntrospection
+, gobject-introspection
 , gst_all_1
 , libwebcam
 }:
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     libusb1
     libzip
     glib
-    gobjectIntrospection
+    gobject-introspection
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     libwebcam
diff --git a/pkgs/os-specific/linux/udisks-glue/default.nix b/pkgs/os-specific/linux/udisks-glue/default.nix
index 56e237a9fad0..37af3c92ea53 100644
--- a/pkgs/os-specific/linux/udisks-glue/default.nix
+++ b/pkgs/os-specific/linux/udisks-glue/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, automake, autoconf, udisks1, dbus-glib, glib, confuse }:
+{ stdenv, fetchurl, pkgconfig, automake, autoconf, udisks1, dbus-glib, glib, libconfuse }:
 
 stdenv.mkDerivation {
   name = "udisks-glue-1.3.5";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig automake autoconf ];
-  buildInputs = [ udisks1 dbus-glib glib confuse ];
+  buildInputs = [ udisks1 dbus-glib glib libconfuse ];
 
   preConfigure = "sh autogen.sh";
 
@@ -18,6 +18,6 @@ stdenv.mkDerivation {
     description = "A tool to associate udisks events to user-defined actions";
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [pSub];
-    license = stdenv.lib.licenses.free;
+    license = stdenv.lib.licenses.bsd2;
   };
 }
diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix
index 4f59828098c3..e0340a0b7849 100644
--- a/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/pkgs/os-specific/linux/udisks/2-default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, substituteAll, libtool, pkgconfig, intltool, gnused
 , gnome3, gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash
 , expat, libxslt, docbook_xsl, utillinux, mdadm, libgudev, libblockdev, parted
-, gobjectIntrospection, docbook_xml_dtd_412, docbook_xml_dtd_43
+, gobject-introspection, docbook_xml_dtd_412, docbook_xml_dtd_43
 , xfsprogs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g
 }:
 
@@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    pkgconfig gnome3.gnome-common libtool intltool gobjectIntrospection
+    pkgconfig gnome3.gnome-common libtool intltool gobject-introspection
     gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl
   ];
 
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index 6c6e411000ac..0aaa31163ac5 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, dbus-glib
 , intltool, libxslt, docbook_xsl, udev, libgudev, libusb1
-, useSystemd ? true, systemd, gobjectIntrospection
+, useSystemd ? true, systemd, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ dbus-glib intltool libxslt docbook_xsl udev libgudev libusb1 gobjectIntrospection ]
+    [ dbus-glib intltool libxslt docbook_xsl udev libgudev libusb1 gobject-introspection ]
     ++ stdenv.lib.optional useSystemd systemd;
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index 1f8429a60d1b..e4a4bcf5760a 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/servers/dns/pdns-recursor/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "pdns-recursor-${version}";
-  version = "4.1.7";
+  version = "4.1.8";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "0syvxlfxy3h2x1kvqkj7qqk8k85y42qjq30pcqqmy69v3pymq14s";
+    sha256 = "1xg5swappik8v5mjyl7magw7picf5cqp6rbhckd6ijssz16qzy38";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/echoip/default.nix b/pkgs/servers/echoip/default.nix
new file mode 100644
index 000000000000..e71abb8bc00f
--- /dev/null
+++ b/pkgs/servers/echoip/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "echoip-${version}";
+  version = "unstable-2018-11-20";
+
+  goPackagePath = "github.com/mpolden/echoip";
+
+  src = fetchFromGitHub {
+    owner = "mpolden";
+    repo = "echoip";
+    rev = "4bfaf671b9f75a7b2b37543b2991401cbf57f1f0";
+    sha256 = "0n5d9i8cc5lqgy5apqd3zhyl3h1xjacf612z8xpvbm75jnllcvxy";
+  };
+
+  goDeps = ./deps.nix;
+
+  outputs = [ "bin" "out" ];
+
+  postInstall = ''
+    mkdir -p $out
+    cp $src/index.html $out/index.html
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/mpolden/echoip;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ rvolosatovs ];
+  };
+}
diff --git a/pkgs/servers/echoip/deps.nix b/pkgs/servers/echoip/deps.nix
new file mode 100644
index 000000000000..4e4f0799bdae
--- /dev/null
+++ b/pkgs/servers/echoip/deps.nix
@@ -0,0 +1,74 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/jessevdk/go-flags";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jessevdk/go-flags";
+      rev = "v1.4.0";
+      sha256 = "0algnnigph27spgn655zm4723yfjxjjvlf4k14z9drj3682df25a";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/oschwald/geoip2-golang";
+    fetch = {
+      type = "FromGitHub";
+      owner = "oschwald";
+      repo = "geoip2-golang";
+      rev = "v1.2.1";
+      sha256 = "0zpgpz577rghvgis6ji9l99pq87z5izbgzmnbyn3dy533bayrgpw";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/oschwald/maxminddb-golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/oschwald/maxminddb-golang";
+      rev = "v1.2.1";
+      sha256 = "0nlip5a2yiig0sv9y3ky4kn8730236wal3zjcs4yfgnw6nxl3rjr";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.2.2";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "37707fdb30a5";
+      sha256 = "1abrr2507a737hdqv4q7pw7hv6ls9pdiq9crhdi52r3gcz6hvizg";
+    };
+  }
+]
diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix
index b3df4a481cd0..15ebccbc0dae 100644
--- a/pkgs/servers/home-assistant/appdaemon.nix
+++ b/pkgs/servers/home-assistant/appdaemon.nix
@@ -10,6 +10,8 @@ let
           inherit version;
           sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964";
         };
+        # TODO: remove after pinning aiohttp to a newer version
+        propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ self.idna-ssl ];
       });
 
       yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index 93dfbbad2b41..8f33fa8d33b1 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix (args // {
-  version = "1.15.6";
-  sha256 = "1ikchbnq1dv8wjnsf6jj24xkb36vcgigyps71my8r01m41ycdn53";
+  version = "1.15.7";
+  sha256 = "14yz5cag9jdi088kdyammpi0ixrzi91bc0nwdldj42hfdhpyl8lg";
 })
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 9f297873dd0c..b33285384960 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jackett-${version}";
-  version = "0.10.446";
+  version = "0.10.471";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "1vmgywklax5br3pynjp5b74l2mkmhk3njiccjrl0l7j8ikyar1fw";
+    sha256 = "0la05akvpvfg9jdgfd39wnc87zi7axzx7499w9m3py7qqqyvgyin";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index f80a01e20f88..6c6ddf651e62 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -9,7 +9,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.3";
+  name = "dovecot-2.3.4";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "13kd0rxdg9scwnx6n24p6mv8p6dyh7v8s7sqv55gp2i54pp2gbqm";
+    sha256 = "01ggzf7b3jpl89mjiqr7xbpbs181g2gjf6wzg70qaqfzz3ppc6yr";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index a0b03193729a..73d6b5d593c9 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dovecot-pigeonhole-${version}";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "08i6vw6k2v906s4sc6wl9ffpz6blzdga6vglqpqjm7jzq10jfbz0";
+    sha256 = "05l5y0gc8ycswdbl58j7kbx5gq1z7mjkazjccmgbq6h0gbk9jyal";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/pkgs/servers/mxisd/0001-gradle.patch b/pkgs/servers/mxisd/0001-gradle.patch
new file mode 100644
index 000000000000..55ff6ead22d4
--- /dev/null
+++ b/pkgs/servers/mxisd/0001-gradle.patch
@@ -0,0 +1,22 @@
+--- a/build.gradle	2018-11-16 15:15:29.021469758 +0100
++++ b/build.gradle	2018-11-16 15:16:50.982289782 +0100
+@@ -64,7 +64,7 @@
+ 
+ buildscript {
+     repositories {
+-        mavenCentral()
++    REPLACE
+     }
+ 
+     dependencies {
+@@ -73,9 +73,7 @@
+ }
+ 
+ repositories {
+-    mavenCentral()
+-    maven { url "https://kamax.io/maven/releases/" }
+-    maven { url "https://kamax.io/maven/snapshots/" }
++REPLACE
+ }
+ 
+ dependencies {
diff --git a/pkgs/servers/mxisd/default.nix b/pkgs/servers/mxisd/default.nix
new file mode 100644
index 000000000000..0d3bc4f3e08b
--- /dev/null
+++ b/pkgs/servers/mxisd/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchFromGitHub, jdk, jre, git, gradle_2_5, perl, makeWrapper, writeText }:
+
+let
+  name = "mxisd-${version}";
+  version = "1.2.0";
+  rev = "8c4ddd2e6526c1d2b284ba88cce3c2b926d99c62";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "kamax-matrix";
+    repo = "mxisd";
+    sha256 = "083plqg0rxsqwzyskin78wkmylhb7cqz37lpsa1zy56sxpdw1a3l";
+  };
+
+
+  deps = stdenv.mkDerivation {
+    name = "${name}-deps";
+    inherit src;
+    nativeBuildInputs = [ gradle_2_5 perl git ];
+
+    buildPhase = ''
+      export MXISD_BUILD_VERSION=${rev}
+      export GRADLE_USER_HOME=$(mktemp -d);
+      gradle --no-daemon build -x test
+    '';
+
+     # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
+    installPhase = ''
+      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+    '';
+
+    dontStrip = true;
+
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "0shshn05nzv23shry1xpcgvqg59gx929n0qngpfjhbq0kp7px68m";
+  };
+
+in
+stdenv.mkDerivation {
+  inherit name src version;
+  nativeBuildInputs = [ gradle_2_5 perl makeWrapper ];
+  buildInputs = [ jre ];
+
+  patches = [ ./0001-gradle.patch ];
+
+  buildPhase = ''
+    export MXISD_BUILD_VERSION=${rev}
+    export GRADLE_USER_HOME=$(mktemp -d)
+
+    sed -ie "s#REPLACE#mavenLocal(); maven { url '${deps}' }#g" build.gradle
+    gradle --offline --no-daemon build -x test
+  '';
+
+  installPhase = ''
+    install -D build/libs/source.jar $out/lib/mxisd.jar
+    makeWrapper ${jre}/bin/java $out/bin/mxisd --add-flags "-jar $out/lib/mxisd.jar"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "a federated matrix identity server";
+    homepage = https://github.com/kamax-matrix/mxisd;
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ mguentner ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/servers/nas/default.nix b/pkgs/servers/nas/default.nix
index 9b8402ec0e08..86f75a21359d 100644
--- a/pkgs/servers/nas/default.nix
+++ b/pkgs/servers/nas/default.nix
@@ -16,12 +16,9 @@ in stdenv.mkDerivation {
 
   buildInputs = [ xproto libXau libXt libXext libXaw libXpm ];
 
-  buildPhase = ''
-    xmkmf
-    make WORLDOPTS="" World
-  '';
+  buildFlags = [ "WORLDOPTS=" "World" ];
 
-  installFlags = "LDLIBS=-lfl DESTDIR=\${out}";
+  installFlags = [ "LDLIBS=-lfl" "DESTDIR=${placeholder "out"}" ];
 
   postInstall = ''
     mv $out/${xorgcffiles}/* $out
diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix
index 40afd7043e41..c0648f5183d9 100644
--- a/pkgs/servers/roundcube/default.nix
+++ b/pkgs/servers/roundcube/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchzip }:
 let
-  version = "1.3.7";
+  version = "1.3.8";
 in
 fetchzip rec {
   name= "roundcube-${version}";
 
-  url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz"; 
-  sha256 = "0xwqy0adynx7066a0cvz9vyg85waax1i4p70kcdkz7q5jnw4jzhf";
- 
+  url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
+  sha256 = "1lhwr13bglm8rqgamnb480b07wpqhw9bskjj2xxb0x8kdjly29ks";
+
   extraPostFetch = ''
     ln -sf /etc/roundcube/config.inc.php $out/config/config.inc.php
     rm -rf $out/installer
diff --git a/pkgs/servers/sql/cockroachdb/default.nix b/pkgs/servers/sql/cockroachdb/default.nix
index aba997d75f13..6f4b10759e31 100644
--- a/pkgs/servers/sql/cockroachdb/default.nix
+++ b/pkgs/servers/sql/cockroachdb/default.nix
@@ -1,18 +1,28 @@
-{ stdenv, buildGoPackage, fetchurl, cmake, xz, which, autoconf, ncurses6, libedit }:
+{ stdenv, buildGoPackage, fetchurl
+, cmake, xz, which, autoconf
+, ncurses6, libedit, libunwind
+}:
 
+let
+  darwinDeps = [ libunwind libedit ];
+  linuxDeps  = [ ncurses6 ];
+
+  buildInputs = if stdenv.isDarwin then darwinDeps else linuxDeps;
+  nativeBuildInputs = [ cmake xz which autoconf ];
+
+in
 buildGoPackage rec {
   name = "cockroach-${version}";
-  version = "2.0.0";
+  version = "2.1.1";
 
   goPackagePath = "github.com/cockroachdb/cockroach";
 
   src = fetchurl {
     url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
-    sha256 = "0x8hf5qwvgb2w6dcnvy20v77nf19f0l1pb40jf31rm72xhk3bwvy";
+    sha256 = "1z34zlwznh4lgbc1ryn577w7mmycyjbmz28k1hhhb6ricmk1x847";
   };
 
-  buildInputs = [ (if stdenv.isDarwin then libedit else ncurses6) ];
-  nativeBuildInputs = [ cmake xz which autoconf ];
+  inherit nativeBuildInputs buildInputs;
 
   buildPhase = ''
     runHook preBuild
@@ -21,24 +31,34 @@ buildGoPackage rec {
     make buildoss
     cd src/${goPackagePath}
     for asset in man autocomplete; do
-      ./cockroach gen $asset
+      ./cockroachoss gen $asset
     done
     runHook postBuild
   '';
 
   installPhase = ''
     runHook preInstall
-    install -D cockroach $bin/bin/cockroach
+
+    install -D cockroachoss $bin/bin/cockroach
     install -D cockroach.bash $bin/share/bash-completion/completions/cockroach.bash
-    cp -r man $bin/share/man
+
+    mkdir -p $man/share/man
+    cp -r man $man/share/man
+
     runHook postInstall
   '';
 
+  # Unfortunately we have to keep an empty reference to $out, because it seems
+  # buildGoPackages only nukes references to the go compiler under $bin, effectively
+  # making all binary output under $bin mandatory. Ideally, we would just use
+  # $out and $man and remove $bin since there's no point in an empty path. :(
+  outputs = [ "bin" "man" "out" ];
+
   meta = with stdenv.lib; {
-    homepage = https://www.cockroachlabs.com;
+    homepage    = https://www.cockroachlabs.com;
     description = "A scalable, survivable, strongly-consistent SQL database";
-    license = licenses.asl20;
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
-    maintainers = [ maintainers.rushmorem ];
+    license     = licenses.asl20;
+    platforms   = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    maintainers = with maintainers; [ rushmorem thoughtpolice ];
   };
 }
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index ee302b48ee42..6100cb2d1d1f 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -1,10 +1,11 @@
-{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, libxml2, makeWrapper, tzdata }:
+{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, libxml2, makeWrapper, tzdata, systemd }:
 
 let
 
   common = { version, sha256, psqlSchema }:
    let atLeast = lib.versionAtLeast version; in stdenv.mkDerivation (rec {
     name = "postgresql-${version}";
+    inherit version;
 
     src = fetchurl {
       url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
@@ -16,9 +17,10 @@ let
 
     buildInputs =
       [ zlib readline openssl libxml2 makeWrapper ]
+      ++ lib.optionals (atLeast "9.6" && !stdenv.isDarwin) [ systemd ]
       ++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ];
 
-    enableParallelBuilding = true;
+    enableParallelBuilding = !stdenv.isDarwin;
 
     makeFlags = [ "world" ];
 
@@ -33,6 +35,7 @@ let
       "--sysconfdir=/etc"
       "--libdir=$(lib)/lib"
       "--with-system-tzdata=${tzdata}/share/zoneinfo"
+      (lib.optionalString (atLeast "9.6" && !stdenv.isDarwin) "--with-systemd")
       (if stdenv.isDarwin then "--with-uuid=e2fs" else "--with-ossp-uuid")
     ];
 
@@ -67,7 +70,8 @@ let
           # Remove static libraries in case dynamic are available.
           for i in $out/lib/*.a; do
             name="$(basename "$i")"
-            if [ -e "$lib/lib/''${name%.a}.so" ] || [ -e "''${i%.a}.so" ]; then
+            ext="${stdenv.hostPlatform.extensions.sharedLibrary}"
+            if [ -e "$lib/lib/''${name%.a}$ext" ] || [ -e "''${i%.a}$ext" ]; then
               rm "$i"
             fi
           done
@@ -131,7 +135,7 @@ in {
 
   postgresql_11 = common {
     version = "11.1";
-    psqlSchema = "11.0";
+    psqlSchema = "11.1";
     sha256 = "026v0sicsh7avzi45waf8shcbhivyxmi7qgn9fd1x0vl520mx0ch";
   };
 
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index b1097c1e96fc..154b56596771 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "traefik-${version}";
-  version = "1.7.1";
+  version = "1.7.4";
 
   goPackagePath = "github.com/containous/traefik";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "containous";
     repo = "traefik";
     rev = "v${version}";
-    sha256 = "13vvwb1mrnxn4y1ga37pc5c46qdj5jkrcnyn2w9rb59madgq4c77";
+    sha256 = "0y2ac8z09s76qf13m7dgzmhqa5868q7g9r2gxxbq3lhhzwik31vp";
   };
 
   buildInputs = [ go-bindata bash ];
diff --git a/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh b/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh
deleted file mode 100644
index 6dbaf724092b..000000000000
--- a/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh
+++ /dev/null
@@ -1 +0,0 @@
-export IMAKECPP="@tradcpp@/bin/tradcpp"
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index ccf0dfe90348..1f953e89ec88 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1248,7 +1248,7 @@ lib.makeScope newScope (self: with self; {
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  libxcb = callPackage ({ stdenv, pkgconfig, fetchurl, libxslt, libpthreadstubs, python, libXau, xcbproto, libXdmcp }: stdenv.mkDerivation {
+  libxcb = callPackage ({ stdenv, pkgconfig, fetchurl, libxslt, libpthreadstubs, libXau, xcbproto, libXdmcp, python }: stdenv.mkDerivation {
     name = "libxcb-1.13.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1256,8 +1256,8 @@ lib.makeScope newScope (self: with self; {
       sha256 = "1i27lvrcsygims1pddpl5c4qqs6z715lm12ax0n3vx0igapvg7x8";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
+    nativeBuildInputs = [ pkgconfig python ];
+    buildInputs = [ libxslt libpthreadstubs libXau xcbproto libXdmcp ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
@@ -1594,8 +1594,8 @@ lib.makeScope newScope (self: with self; {
       sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ python ];
+    nativeBuildInputs = [ pkgconfig python ];
+    buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 701a8984ada1..aba45a215349 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -23,6 +23,7 @@ my %pkgURLs;
 my %pkgHashes;
 my %pkgNames;
 my %pkgRequires;
+my %pkgNativeRequires;
 
 my %pcMap;
 
@@ -106,6 +107,7 @@ while (<>) {
     my $provides = `find $pkgDir -name "*.pc.in"`;
     my @provides2 = split '\n', $provides;
     my @requires = ();
+    my @nativeRequires = ();
 
     foreach my $pcFile (@provides2) {
         my $pc = $pcFile;
@@ -163,7 +165,7 @@ while (<>) {
     }
 
     if ($file =~ /AM_PATH_PYTHON/) {
-        push @requires, "python";
+        push @nativeRequires, "python";
     }
 
     if ($file =~ /AC_PATH_PROG\(FCCACHE/) {
@@ -230,7 +232,9 @@ while (<>) {
     push @requires, "gperf", "m4", "xproto" if $pkg =~ /xcbutil/;
 
     print "REQUIRES $pkg => @requires\n";
+    print "NATIVE_REQUIRES $pkg => @nativeRequires\n";
     $pkgRequires{$pkg} = \@requires;
+    $pkgNativeRequires{$pkg} = \@nativeRequires;
 
     print "done\n";
 }
@@ -255,6 +259,20 @@ EOF
 foreach my $pkg (sort (keys %pkgURLs)) {
     print "$pkg\n";
 
+    my %nativeRequires = ();
+    my @nativeBuildInputs;
+    foreach my $req (sort @{$pkgNativeRequires{$pkg}}) {
+        if (defined $pcMap{$req}) {
+            # Some packages have .pc that depends on itself.
+            next if $pcMap{$req} eq $pkg;
+            if (!defined $nativeRequires{$pcMap{$req}}) {
+                push @nativeBuildInputs, $pcMap{$req};
+                $nativeRequires{$pcMap{$req}} = 1;
+            }
+        } else {
+            print "  NOT FOUND: $req\n";
+        }
+    }
     my %requires = ();
     my @buildInputs;
     foreach my $req (sort @{$pkgRequires{$pkg}}) {
@@ -270,9 +288,11 @@ foreach my $pkg (sort (keys %pkgURLs)) {
         }
     }
 
+    my $nativeBuildInputsStr = join "", map { $_ . " " } @nativeBuildInputs;
     my $buildInputsStr = join "", map { $_ . " " } @buildInputs;
 
     my @arguments = @buildInputs;
+    push @arguments, @nativeBuildInputs;
     unshift @arguments, "stdenv", "pkgconfig", "fetchurl";
     my $argumentsStr = join ", ", @arguments;
 
@@ -290,7 +310,7 @@ foreach my $pkg (sort (keys %pkgURLs)) {
       sha256 = "$pkgHashes{$pkg}";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
+    nativeBuildInputs = [ pkgconfig $nativeBuildInputsStr];
     buildInputs = [ $buildInputsStr];$extraAttrsStr
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
diff --git a/pkgs/servers/x11/xorg/imake-setup-hook.sh b/pkgs/servers/x11/xorg/imake-setup-hook.sh
new file mode 100644
index 000000000000..10f54198f7fb
--- /dev/null
+++ b/pkgs/servers/x11/xorg/imake-setup-hook.sh
@@ -0,0 +1,19 @@
+export IMAKECPP="@tradcpp@/bin/tradcpp"
+
+imakeConfigurePhase() {
+    runHook preConfigure
+
+    echoCmd 'configuring with imake'
+
+    if [ -z "${imakefile:-}" -a ! -e Imakefile ]; then
+        echo "no Imakefile, doing nothing"
+    else
+        xmkmf -a
+    fi
+
+    runHook postConfigure
+}
+
+if [ -z "$dontUseImakeConfigure" -a -z "$configurePhase" ]; then
+    configurePhase=imakeConfigurePhase
+fi
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 8f4c251335a9..8c3917171ecc 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -1,8 +1,8 @@
 { abiCompat ? null,
-  stdenv, makeWrapper, lib, fetchurl, fetchpatch,
+  stdenv, makeWrapper, lib, fetchurl, fetchpatch, buildPackages,
 
   automake, autoconf, libtool, intltool, mtdev, libevdev, libinput,
-  python, freetype, tradcpp, fontconfig,
+  freetype, tradcpp, fontconfig,
   libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
   mesa_noglu, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
   mcpp, epoxy, openssl, pkgconfig, llvm_6,
@@ -63,12 +63,12 @@ self: super:
     inherit (self) xorgcffiles;
     x11BuildHook = ./imake.sh;
     patches = [./imake.patch ./imake-cc-wrapper-uberhack.patch];
-    setupHook = if stdenv.isDarwin then ./darwin-imake-setup-hook.sh else null;
-    CFLAGS = [ "-DIMAKE_COMPILETIME_CPP=\\\"${if stdenv.isDarwin
+    setupHook = ./imake-setup-hook.sh;
+    CFLAGS = [ ''-DIMAKE_COMPILETIME_CPP='"${if stdenv.isDarwin
       then "${tradcpp}/bin/cpp"
-      else "gcc"}\\\""
+      else "gcc"}"' ''
     ];
-    tradcpp = if stdenv.isDarwin then tradcpp else null;
+    inherit tradcpp;
   });
 
   mkfontdir = super.mkfontdir.overrideAttrs (attrs: {
@@ -85,19 +85,15 @@ self: super:
   });
 
   libxcb = super.libxcb.overrideAttrs (attrs: {
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
     configureFlags = [ "--enable-xkb" "--enable-xinput" ];
     outputs = [ "out" "dev" "man" "doc" ];
   });
 
-  xcbproto = super.xcbproto.overrideAttrs (attrs: {
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
-  });
-
   libX11 = super.libX11.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
+    depsBuildBuild = [ buildPackages.stdenv.cc ];
     preConfigure = ''
       sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure
     '';
@@ -249,6 +245,8 @@ self: super:
 
   libXv = super.libXv.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "devdoc" ];
+    configureFlags = attrs.configureFlags or []
+      ++ malloc0ReturnsNullCrossFlag;
   });
 
   libXvMC = super.libXvMC.overrideAttrs (attrs: {
diff --git a/pkgs/shells/zsh/grml-zsh-config/default.nix b/pkgs/shells/zsh/grml-zsh-config/default.nix
index 1c5535ba1c69..0c092e31a036 100644
--- a/pkgs/shells/zsh/grml-zsh-config/default.nix
+++ b/pkgs/shells/zsh/grml-zsh-config/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "grml-zsh-config-${version}";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "grml";
     repo = "grml-etc-core";
     rev = "v${version}";
-    sha256 = "0a39m7rlf30r0ja56mmhidqbalck8f5gkmgngcvkxy3n486xxmkm";
+    sha256 = "13mm1vjmb600l4g0ssr56xrlx6lwpv1brrpmf2v2pp2d5ki0d47x";
   };
 
   buildInputs = [ zsh coreutils txt2tags procps ]
diff --git a/pkgs/shells/zsh/nix-zsh-completions/default.nix b/pkgs/shells/zsh/nix-zsh-completions/default.nix
index 4405902ec3e0..861a6d05df69 100644
--- a/pkgs/shells/zsh/nix-zsh-completions/default.nix
+++ b/pkgs/shells/zsh/nix-zsh-completions/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub }:
 
 let
-  version = "0.4.0";
+  version = "0.4.1";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "spwhitt";
     repo = "nix-zsh-completions";
     rev = "${version}";
-    sha256 = "0m8b9xgbz2nvk1q7m0gqy83gbqa49n062gymhk9x93zhbdh8vwky";
+    sha256 = "1p2y1sg6jghixv2j3fwxnkyl3idj44gcm71bbn25mnqfhm0z25hr";
   };
 
   installPhase = ''
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 57e757080a2d..f3c4afb613e6 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -81,13 +81,6 @@ rec {
     , ... } @ attrs:
 
     let
-      # Check that the name is consistent with pname and version:
-      selfConsistent = (with attrs; attrs ? "name" ->
-        (lib.assertMsg (attrs ? "version" -> lib.strings.hasInfix version name)
-          "version ${version} does not appear in name ${name}" &&
-        lib.assertMsg (attrs ? "pname" -> lib.strings.hasInfix pname name)
-          "pname ${pname} does not appear in name ${name}"));
-
       computedName = if name != "" then name else "${attrs.pname}-${attrs.version}";
 
       # TODO(@oxij, @Ericson2314): This is here to keep the old semantics, remove when
@@ -95,16 +88,17 @@ rec {
       doCheck' = doCheck && stdenv.hostPlatform == stdenv.buildPlatform;
       doInstallCheck' = doInstallCheck && stdenv.hostPlatform == stdenv.buildPlatform;
 
-      outputs' = outputs ++ lib.optional separateDebugInfo "debug";
+      separateDebugInfo' = separateDebugInfo && stdenv.hostPlatform.isLinux;
+      outputs' = outputs ++ lib.optional separateDebugInfo' "debug";
 
       fixedOutputDrv = attrs ? outputHash;
       noNonNativeDeps = builtins.length (depsBuildTarget ++ depsBuildTargetPropagated
                                       ++ depsHostHost ++ depsHostHostPropagated
                                       ++ buildInputs ++ propagatedBuildInputs
                                       ++ depsTargetTarget ++ depsTargetTargetPropagated) == 0;
-      runtimeSensativeIfFixedOutput = fixedOutputDrv -> !noNonNativeDeps;
+      dontAddHostSuffix = attrs ? outputHash && !noNonNativeDeps || stdenv.cc == null;
       supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ];
-      defaultHardeningFlags = if stdenv.targetPlatform.isMusl
+      defaultHardeningFlags = if stdenv.hostPlatform.isMusl
                               then supportedHardeningFlags
                               else lib.remove "pie" supportedHardeningFlags;
       enabledHardeningOptions =
@@ -130,7 +124,7 @@ rec {
         [
           (map (drv: drv.__spliced.buildBuild or drv) depsBuildBuild)
           (map (drv: drv.nativeDrv or drv) nativeBuildInputs
-             ++ lib.optional separateDebugInfo ../../build-support/setup-hooks/separate-debug-info.sh
+             ++ lib.optional separateDebugInfo' ../../build-support/setup-hooks/separate-debug-info.sh
              ++ lib.optional stdenv.hostPlatform.isWindows ../../build-support/setup-hooks/win-dll-link.sh)
           (map (drv: drv.__spliced.buildTarget or drv) depsBuildTarget)
         ]
@@ -188,12 +182,12 @@ rec {
         // {
           # A hack to make `nix-env -qa` and `nix search` ignore broken packages.
           # TODO(@oxij): remove this assert when something like NixOS/nix#1771 gets merged into nix.
-          name = assert selfConsistent && validity.handled && (separateDebugInfo -> stdenv.hostPlatform.isLinux); computedName + lib.optionalString
+          name = assert validity.handled; computedName + lib.optionalString
             # Fixed-output derivations like source tarballs shouldn't get a host
             # suffix. But we have some weird ones with run-time deps that are
             # just used for their side-affects. Those might as well since the
             # hash can't be the same. See #32986.
-            (stdenv.hostPlatform != stdenv.buildPlatform && runtimeSensativeIfFixedOutput)
+            (stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix)
             ("-" + stdenv.hostPlatform.config);
 
           builder = attrs.realBuilder or stdenv.shell;
@@ -239,22 +233,6 @@ rec {
           inherit doCheck doInstallCheck;
 
           inherit outputs;
-        } // lib.optionalAttrs strictDeps {
-          # Make sure "build" dependencies don’t leak into outputs. We
-          # want to disallow references to depsBuildBuild,
-          # nativeBuildInputs, and depsBuildTarget. But depsHostHost,
-          # buildInputs, and depsTargetTarget is okay, so we subtract
-          # those from disallowedReferences in case a dependency is
-          # listed in multiple dependency lists. We also include
-          # propagated dependencies here as well.
-          disallowedReferences = (attrs.disallowedReferences or [])
-          ++ (lib.subtractLists
-               (lib.concatLists ((lib.elemAt propagatedDependencies 0) ++
-                                 (lib.elemAt propagatedDependencies 1) ++
-                                 (lib.elemAt dependencies 1) ++
-                                 (lib.elemAt propagatedDependencies 2) ++
-                                 (lib.elemAt dependencies 2) ) )
-               (lib.concatLists ((lib.elemAt dependencies 0)) ) );
         } // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) {
           cmakeFlags =
             (/**/ if lib.isString cmakeFlags then [cmakeFlags]
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 978beea692c6..cfba5e7b88af 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -188,7 +188,9 @@ in
 
     # Rebuild binutils to use from stage2 onwards.
     overrides = self: super: {
-      binutils = super.binutils_nogold;
+      binutils-unwrapped = super.binutils-unwrapped.override {
+        gold = false;
+      };
       inherit (prevStage)
         ccWrapperStdenv
         gcc-unwrapped coreutils gnugrep;
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index f4184b92bd5f..8d513625df21 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -150,6 +150,7 @@ in with pkgs; rec {
         for i in as ld ar ranlib nm strip readelf objdump; do
           cp ${binutils.bintools.out}/bin/$i $out/bin
         done
+        cp '${lib.getLib binutils.bintools}'/lib/* "$out/lib/"
 
         chmod -R u+w $out
 
diff --git a/pkgs/test/cross/default.nix b/pkgs/test/cross/default.nix
index 6f41447ca76a..622799106cd2 100644
--- a/pkgs/test/cross/default.nix
+++ b/pkgs/test/cross/default.nix
@@ -1,12 +1,11 @@
-{ pkgs, pkgsCross, lib }:
+{ pkgs, lib }:
 
 let
 
-  emulators = {
-    mingw32 = "WINEDEBUG=-all ${pkgs.winePackages.minimal}/bin/wine";
-    mingwW64 = "WINEDEBUG=-all ${pkgs.wineWowPackages.minimal}/bin/wine";
-    # TODO: add some qemu-based emulaltors here
-  };
+  testedSystems = lib.filterAttrs (name: value: let
+    platform = lib.systems.elaborate value;
+  in platform.isLinux || platform.isWindows
+  ) lib.systems.examples;
 
   getExecutable = pkgs: pkgFun: exec:
     "${pkgFun pkgs}${exec}${pkgs.hostPlatform.extensions.executable}";
@@ -17,6 +16,10 @@ let
   in pkgs.runCommand "test-${pkgName}-${crossPkgs.hostPlatform.config}" {
     nativeBuildInputs = [ pkgs.dos2unix ];
   } ''
+    # Just in case we are using wine, get rid of that annoying extra
+    # stuff.
+    export WINEDEBUG=-all
+
     HOME=$(pwd)
     mkdir -p $out
 
@@ -44,29 +47,29 @@ let
     fi
   '';
 
-in
+  mapMultiPlatformTest = test: lib.mapAttrs (name: system: test rec {
+    crossPkgs = import pkgs.path {
+      localSystem = { inherit (pkgs.hostPlatform) config; };
+      crossSystem = system;
+    };
 
-lib.mapAttrs (name: emulator: let
-  crossPkgs = pkgsCross.${name};
+    emulator = crossPkgs.hostPlatform.emulator pkgs;
 
-  # Apply some transformation on windows to get dlls in the right
-  # place. Unfortunately mingw doesn’t seem to be able to do linking
-  # properly.
-  platformFun = pkg: if crossPkgs.hostPlatform.isWindows then
-    pkgs.buildEnv {
-      name = "${pkg.name}-winlinks";
-      paths = [pkg] ++ pkg.buildInputs;
-    } else pkg;
-in {
+    # Apply some transformation on windows to get dlls in the right
+    # place. Unfortunately mingw doesn’t seem to be able to do linking
+    # properly.
+    platformFun = pkg: if crossPkgs.hostPlatform.isWindows then
+      pkgs.buildEnv {
+        name = "${pkg.name}-winlinks";
+        paths = [pkg] ++ pkg.buildInputs;
+      } else pkg;
+  }) testedSystems;
 
-  hello = compareTest {
-    inherit emulator crossPkgs;
-    hostPkgs = pkgs;
-    exec = "/bin/hello";
-    pkgFun = pkgs: pkgs.hello;
-  };
+in
+
+lib.mapAttrs (_: mapMultiPlatformTest) {
 
-  file = compareTest {
+  file = {platformFun, crossPkgs, emulator}: compareTest {
     inherit emulator crossPkgs;
     hostPkgs = pkgs;
     exec = "/bin/file";
@@ -77,4 +80,11 @@ in {
     pkgFun = pkgs: platformFun pkgs.file;
   };
 
-}) emulators
+  hello = {platformFun, crossPkgs, emulator}: compareTest {
+    inherit emulator crossPkgs;
+    hostPkgs = pkgs;
+    exec = "/bin/hello";
+    pkgFun = pkgs: pkgs.hello;
+  };
+
+}
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 9315595f8eca..809b2d0b553c 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -33,4 +33,6 @@ with pkgs;
   nixos-functions = callPackage ./nixos-functions {};
 
   patch-shebangs = callPackage ./patch-shebangs {};
+
+  writers = callPackage ../build-support/writers/test.nix {};
 }
diff --git a/pkgs/tools/X11/ckbcomp/default.nix b/pkgs/tools/X11/ckbcomp/default.nix
index dbca73359440..c8ade8db55fa 100644
--- a/pkgs/tools/X11/ckbcomp/default.nix
+++ b/pkgs/tools/X11/ckbcomp/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchgit, perl, xkeyboard_config }:
+{ stdenv, fetchFromGitLab, perl, xkeyboard_config }:
 
 stdenv.mkDerivation rec {
   name = "ckbcomp-${version}";
-  version = "1.133";
+  version = "1.187";
 
-  src = fetchgit {
-    url = "git://anonscm.debian.org/d-i/console-setup.git";
-    rev = "refs/tags/${version}";
-    sha256 = "1whli40ik5izyfs0m8d08gq8zcsdjscnxbsvxyxvdnkrvzw4izdz";
+  src = fetchFromGitLab {
+    domain = "salsa.debian.org";
+    owner = "installer-team";
+    repo = "console-setup";
+    rev = version;
+    sha256 = "1dcsgdai5lm1r0bhlcfwh01s9k11iwgnd0111gpgbv568rs5isqh";
   };
 
   buildInputs = [ perl ];
@@ -20,15 +22,13 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   installPhase = ''
-    mkdir -p "$out"/bin
-    cp Keyboard/ckbcomp "$out"/bin/
-    mkdir -p "$out"/share/man/man1
-    cp man/ckbcomp.1 "$out"/share/man/man1
+    install -Dm0555 -t $out/bin Keyboard/ckbcomp
+    install -Dm0444 -t $out/share/man/man1 man/ckbcomp.1
   '';
 
   meta = with stdenv.lib; {
     description = "Compiles a XKB keyboard description to a keymap suitable for loadkeys";
-    homepage = http://anonscm.debian.org/cgit/d-i/console-setup.git;
+    homepage = https://salsa.debian.org/installer-team/console-setup;
     license = licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ dezgeg ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/X11/dispad/default.nix b/pkgs/tools/X11/dispad/default.nix
index 853feb08002c..1d119220e585 100644
--- a/pkgs/tools/X11/dispad/default.nix
+++ b/pkgs/tools/X11/dispad/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, libX11, libXi, confuse }:
+{ stdenv, fetchFromGitHub, libX11, libXi, libconfuse }:
 
 stdenv.mkDerivation rec {
   name = "dispad-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0y0n9mf1hs3s706gkpmg1lh74m6vvkqc9rdbzgc6s2k7vdl2zp1y";
   };
 
-  buildInputs = [ libX11 libXi confuse ];
+  buildInputs = [ libX11 libXi libconfuse ];
 
   meta = with stdenv.lib; {
     description = "A small daemon for disabling trackpads while typing";
diff --git a/pkgs/tools/X11/keynav/default.nix b/pkgs/tools/X11/keynav/default.nix
index 1e7b4e58c171..53ef29d7d43c 100644
--- a/pkgs/tools/X11/keynav/default.nix
+++ b/pkgs/tools/X11/keynav/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchFromGitHub, pkgconfig, libX11, xextproto, libXtst, libXi, libXext
-, libXinerama, glib, cairo, xdotool }:
+, libXinerama, libXrandr, glib, cairo, xdotool }:
 
-let release = "20150730"; in
+let release = "20180821"; in
 stdenv.mkDerivation rec {
   name = "keynav-0.${release}.0";
 
   src = fetchFromGitHub {
     owner = "jordansissel";
     repo = "keynav";
-    rev = "4ae486db6697877e84b66583a0502afc7301ba16";
-    sha256 = "0v1m8w877fcrk918p6b6q3753dsz8i1f4mb9bi064cp11kh85nq5";
+    rev = "78f9e076a5618aba43b030fbb9344c415c30c1e5";
+    sha256 = "0hmc14fj612z5h7gjgk95zyqab3p35c4a99snnblzxfg0p3x2f1d";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 xextproto libXtst libXi libXext libXinerama
+  buildInputs = [ libX11 xextproto libXtst libXi libXext libXinerama libXrandr
                   glib cairo xdotool ];
 
   patchPhase = ''
diff --git a/pkgs/tools/X11/wpgtk/default.nix b/pkgs/tools/X11/wpgtk/default.nix
index b6ba431da9d6..374d3e112ca1 100644
--- a/pkgs/tools/X11/wpgtk/default.nix
+++ b/pkgs/tools/X11/wpgtk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, python36Packages, fetchFromGitHub, pywal, feh, libxslt, imagemagick,
-  gobjectIntrospection, gtk3, wrapGAppsHook, gnome3 }:
+  gobject-introspection, gtk3, wrapGAppsHook, gnome3 }:
 
 python36Packages.buildPythonApplication rec {
   pname = "wpgtk";
@@ -22,7 +22,7 @@ python36Packages.buildPythonApplication rec {
   buildInputs = [
     wrapGAppsHook
     gtk3
-    gobjectIntrospection
+    gobject-introspection
     gnome3.adwaita-icon-theme
     libxslt
   ];
diff --git a/pkgs/tools/X11/x2x/default.nix b/pkgs/tools/X11/x2x/default.nix
index 24cf4f6b2e16..0c3538a0db9c 100644
--- a/pkgs/tools/X11/x2x/default.nix
+++ b/pkgs/tools/X11/x2x/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, imake, libX11, libXtst, libXext}:
+{ stdenv, fetchurl, imake, libX11, libXtst, libXext, gccmakedep }:
 
 stdenv.mkDerivation {
   name = "x2x-1.27";
@@ -8,20 +8,16 @@ stdenv.mkDerivation {
     sha256 = "0dha0kn1lbc4as0wixsvk6bn4innv49z9a0sm5wlx4q1v0vzqzyj";
   };
 
-  buildInputs = [ imake libX11 libXtst libXext ];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libX11 libXtst libXext ];
 
   hardeningDisable = [ "format" ];
 
-  configurePhase = ''
-    xmkmf
-    makeFlags="BINDIR=$out/bin x2x"
-  '';
+  buildFlags = [ "x2x" ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/man/man1
-    cp x2x $out/bin/
-    cp x2x.1 $out/man/man1/
+    install -D x2x $out/bin/x2x
+    install -D x2x.1 $out/man/man1/x2x.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/X11/xbrightness/default.nix b/pkgs/tools/X11/xbrightness/default.nix
index f4112765e675..2857ea6c7be4 100644
--- a/pkgs/tools/X11/xbrightness/default.nix
+++ b/pkgs/tools/X11/xbrightness/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, xorg }:
+{ stdenv, fetchurl, imake, gccmakedep
+, libX11, libXaw, libXext, libXmu, libXpm, libXxf86vm  }:
 
 stdenv.mkDerivation {
 
@@ -8,22 +9,11 @@ stdenv.mkDerivation {
     sha256 = "2564dbd393544657cdabe4cbf535d9cfb9abe8edddb1b8cdb1ed4d12f358626e";
   };
 
-  buildInputs = [
-    xorg.imake
-    xorg.libX11
-    xorg.libXaw
-    xorg.libXext
-    xorg.libXmu
-    xorg.libXpm
-    xorg.libXxf86vm
-  ];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libX11 libXaw libXext libXmu libXpm libXxf86vm ];
 
-  configurePhase = "xmkmf";
-
-  installPhase = ''
-    make install BINDIR=$out/bin
-    make install.man MANPATH=$out/share/man
-  '';
+  makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
+  installTargets = "install install.man";
 
   meta = {
     description = "X11 brigthness and gamma software control";
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 5f9c4accc72b..ecbd36e11625 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -3,7 +3,7 @@
 , wrapGAppsHook, xorgserver, getopt, xauth, utillinux, which
 , ffmpeg, x264, libvpx, libwebp
 , libfakeXinerama
-, gst_all_1, pulseaudio, gobjectIntrospection
+, gst_all_1, pulseaudio, gobject-introspection
 , pam }:
 
 with lib;
@@ -28,7 +28,7 @@ in buildPythonApplication rec {
     })
   ];
 
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection wrapGAppsHook ];
+  nativeBuildInputs = [ pkgconfig gobject-introspection wrapGAppsHook ];
   buildInputs = [
     cython
 
diff --git a/pkgs/tools/X11/xvkbd/default.nix b/pkgs/tools/X11/xvkbd/default.nix
index 06824f882a44..6ccc8a24caee 100644
--- a/pkgs/tools/X11/xvkbd/default.nix
+++ b/pkgs/tools/X11/xvkbd/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, imake, libXt, libXaw, libXtst, libXi, libXpm, xextproto, gccmakedep, Xaw3d }:
+{ stdenv, fetchurl, imake, libXt, libXaw, libXtst
+, libXi, libXpm, xextproto, gccmakedep, Xaw3d }:
 
 stdenv.mkDerivation rec {
   name = "xvkbd-${version}";
@@ -8,12 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "17csj6x5zm3g67izfwhagkal1rbqzpw09lqmmlyrjy3vzgfkf75q";
   };
 
-  buildInputs = [ imake libXt libXaw libXtst xextproto libXi Xaw3d libXpm gccmakedep ];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libXt libXaw libXtst xextproto libXi Xaw3d libXpm ];
   installTargets = [ "install" "install.man" ];
-  preBuild = ''
-    makeFlagsArray=( BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults MANPATH=$out/man )
-  '';
-  configurePhase = '' xmkmf -a '';
+  makeFlags = [
+    "BINDIR=$(out)/bin"
+    "XAPPLOADDIR=$(out)/etc/X11/app-defaults"
+    "MANPATH=$(out)/man"
+  ];
 
   meta = with stdenv.lib; {
     description = "Virtual keyboard for X window system";
diff --git a/pkgs/tools/X11/xzoom/default.nix b/pkgs/tools/X11/xzoom/default.nix
index 05154e282636..d1867e3b077b 100644
--- a/pkgs/tools/X11/xzoom/default.nix
+++ b/pkgs/tools/X11/xzoom/default.nix
@@ -1,4 +1,5 @@
-{stdenv, fetchurl, libX11, imake, libXext, libXt}:
+{ stdenv, fetchurl, libX11, libXext, libXt, imake, gccmakedep}:
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}.${patchlevel}";
   pname = "xzoom";
@@ -16,12 +17,16 @@ stdenv.mkDerivation rec {
        sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh";
     })
   ];
-  buildInputs = [libX11 imake libXext libXt];
 
-  configurePhase = ''
-    xmkmf
-    makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANPATH=$out/share/man"
-  '';
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libX11 libXext libXt ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "BINDIR=$(out)/bin"
+    "MANPATH=$(out)/share/man"
+  ];
+  installTargets = "install install.man";
 
   meta = {
     inherit version;
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index bd3b2392c7e4..ec31d3ebbe93 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gobjectIntrospection
+{ stdenv, fetchurl, gobject-introspection
 , gnutls, cairo, libtool, glib, pkgconfig
 , cyrus_sasl, intltool, libpulseaudio
 , libgcrypt, gtk3, vala, gnome3
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    python3 pkgconfig intltool libtool gobjectIntrospection vala
+    python3 pkgconfig intltool libtool gobject-introspection vala
   ];
   buildInputs = [
     gnutls cairo glib libgcrypt cyrus_sasl libpulseaudio gtk3
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "gtk-vnc";
+      versionPolicy = "none";
     };
   };
 
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 09c29517af40..9eb249bc5879 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -2,6 +2,7 @@
 , makeWrapper, acl, rsync, gnutar, xz, btrfs-progs, gzip, dnsmasq
 , squashfsTools, iproute, iptables, ebtables, libcap, dqlite
 , sqlite-replication
+, writeShellScriptBin, apparmor-profiles, apparmor-parser
 }:
 
 buildGoPackage rec {
@@ -31,6 +32,9 @@ buildGoPackage rec {
 
     wrapProgram $bin/bin/lxd --prefix PATH ":" ${stdenv.lib.makeBinPath [
       acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute iptables ebtables
+      (writeShellScriptBin "apparmor_parser" ''
+        exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
+      '')
     ]}
   '';
 
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
new file mode 100644
index 000000000000..b24b88fa96a2
--- /dev/null
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl }:
+
+let
+
+  version = "0.16.2";
+
+  # switch the dropdown to “manual” on https://pulumi.io/quickstart/install.html # TODO: update script
+  pulumiArchPackage = {
+    "x86_64-linux" = {
+      url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-linux-x64.tar.gz";
+      sha256 = "16qgy2pj3xkf1adi3882fpsl99jwsm19111fi5vzh1xqf39sg549";
+    };
+    "x86_64-darwin" = {
+      url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-darwin-x64.tar.gz";
+      sha256 = "18ck9khspa0x798bdlwk8dzylbsq7s35xmla8yasd9qqlab1yy1a";
+    };
+  };
+
+in stdenv.mkDerivation rec {
+  inherit version;
+  name = "pulumi-${version}";
+
+  src = fetchurl pulumiArchPackage.${stdenv.hostPlatform.system};
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp * $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://pulumi.io/;
+    description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive";
+    license = with licenses; [ asl20 ];
+    platforms = builtins.attrNames pulumiArchPackage;
+    maintainers = with maintainers; [
+      peterromfeldhk
+    ];
+  };
+}
diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index 4027b3d531c3..5a76b500d149 100644
--- a/pkgs/tools/admin/tightvnc/default.nix
+++ b/pkgs/tools/admin/tightvnc/default.nix
@@ -10,15 +10,14 @@ stdenv.mkDerivation {
   };
 
   # for the builder script
-  inherit xauth fontDirectories perl;
-  gcc = stdenv.cc.cc;
+  inherit fontDirectories;
 
   hardeningDisable = [ "format" ];
 
   buildInputs = [ xlibsWrapper zlib libjpeg imake gccmakedep libXmu libXaw
                   libXpm libXp xauth openssh ];
 
-  patchPhase = ''
+  postPatch = ''
     fontPath=
     for i in $fontDirectories; do
       for j in $(find $i -name fonts.dir); do
@@ -27,37 +26,38 @@ stdenv.mkDerivation {
     done
 
     sed -i "s@/usr/bin/ssh@${openssh}/bin/ssh@g" vncviewer/vncviewer.h
-  '';
 
-  buildPhase = ''
-    xmkmf
-    make World
     sed -e 's@/usr/bin/perl@${perl}/bin/perl@' \
         -e 's@unix/:7100@'$fontPath'@' \
         -i vncserver
 
-    cd Xvnc
-    sed -e 's@.* CppCmd .*@#define CppCmd		'$gcc'/bin/cpp@' -i config/cf/linux.cf
-    sed -e 's@.* CppCmd .*@#define CppCmd		'$gcc'/bin/cpp@' -i config/cf/Imake.tmpl
+    sed -e 's@.* CppCmd .*@#define CppCmd		cpp@' -i Xvnc/config/cf/linux.cf
+    sed -e 's@.* CppCmd .*@#define CppCmd		cpp@' -i Xvnc/config/cf/Imake.tmpl
     sed -i \
         -e 's@"uname","xauth","Xvnc","vncpasswd"@"uname","Xvnc","vncpasswd"@g' \
         -e "s@\<xauth\>@${xauth}/bin/xauth@g" \
-        ../vncserver
-    ./configure
-    make
-    cd ..
+        vncserver
   '';
 
-  installPhase = ''
+  preInstall = ''
     mkdir -p $out/bin
     mkdir -p $out/share/man/man1
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
     ./vncinstall $out/bin $out/share/man
 
+    runHook postInstall
+  '';
+
+  postInstall = ''
     # fix HTTP client:
-    t=$out/share/tightvnc
-    mkdir -p $t
-    sed -i "s@/usr/local/vnc/classes@$out/vnc/classes@g" $out/bin/vncserver
-    cp -r classes $t
+    mkdir -p $out/share/tightvnc
+    cp -r classes $out/share/tightvnc
+    substituteInPlace $out/bin/vncserver \
+      --replace /usr/local/vnc/classes $out/share/tightvnc/classes
   '';
 
   meta = {
diff --git a/pkgs/tools/audio/beets/alternatives-plugin.nix b/pkgs/tools/audio/beets/alternatives-plugin.nix
index a3e7f9a63d65..38902f234a2b 100644
--- a/pkgs/tools/audio/beets/alternatives-plugin.nix
+++ b/pkgs/tools/audio/beets/alternatives-plugin.nix
@@ -2,20 +2,16 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "beets-alternatives-${version}";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     repo = "beets-alternatives";
-    owner = "wisp3rwind";
+    owner = "geigerzaehler";
     # This is 0.8.2 with fixes against Beets 1.4.6 and Python 3 compatibility.
-    rev = "331eb406786a2d4dc3dd721a534225b087474b1e";
-    sha256 = "1avds2x5sp72c89l1j52pszprm85g9sm750jh1dhnyvgcbk91cb5";
+    rev = "v${version}";
+    sha256 = "19160gwg5j6asy8mc21g2kf87mx4zs9x2gbk8q4r6330z4kpl5pm";
   };
 
-  postPatch = ''
-    sed -i -e '/long_description/d' setup.py
-  '';
-
   nativeBuildInputs = [ beets pythonPackages.nose ];
 
   checkPhase = "nosetests";
@@ -23,6 +19,7 @@ pythonPackages.buildPythonApplication rec {
   meta = {
     description = "Beets plugin to manage external files";
     homepage = https://github.com/geigerzaehler/beets-alternatives;
+    maintainers = [ stdenv.lib.maintainers.aszlig ];
     license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 8f0cc6c4f5c6..8d2bf5e634c3 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchFromGitHub, writeScript, glibcLocales, diffPlugins
-, pythonPackages, imagemagick, gobjectIntrospection, gst_all_1
+, pythonPackages, imagemagick, gobject-introspection, gst_all_1
+, fetchpatch
 
 # Attributes needed for tests of the external plugins
 , callPackage, beets
@@ -120,7 +121,7 @@ in pythonPackages.buildPythonApplication rec {
     pythonPackages.unidecode
     pythonPackages.gst-python
     pythonPackages.pygobject3
-    gobjectIntrospection
+    gobject-introspection
   ] ++ optional enableAcoustid      pythonPackages.pyacoustid
     ++ optional (enableFetchart
               || enableEmbyupdate
@@ -155,6 +156,14 @@ in pythonPackages.buildPythonApplication rec {
   patches = [
     ./replaygain-default-bs1770gain.patch
     ./keyfinder-default-bin.patch
+
+    # Fix Python 3.7 compatibility
+    (fetchpatch {
+      url = "https://github.com/beetbox/beets/commit/"
+          + "15d44f02a391764da1ce1f239caef819f08beed8.patch";
+      sha256 = "12rjb4959nvnrm3fvvki7chxjkipa0cy8i0yi132xrcn8141dnpm";
+      excludes = [ "docs/changelog.rst" ];
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/tools/audio/playerctl/default.nix b/pkgs/tools/audio/playerctl/default.nix
index d2a7358ff8fd..15e7a772bbd1 100644
--- a/pkgs/tools/audio/playerctl/default.nix
+++ b/pkgs/tools/audio/playerctl/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, which, gnome2, glib,
-  pkgconfig, gobjectIntrospection }:
+{ stdenv, meson, ninja, fetchFromGitHub, glib, pkgconfig, gobject-introspection }:
 
 stdenv.mkDerivation rec {
   name = "playerctl-${version}";
@@ -12,13 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "0jnylj5d6i29c5y6yjxg1a88r2qfbac5pj95f2aljjkfh9428jbb";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    which autoconf automake libtool gnome2.gtkdoc glib
-    gobjectIntrospection
-  ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection ];
+  buildInputs = [ glib ];
 
-  preConfigure = "./autogen.sh";
+  # docs somehow crashes the install phase:
+  # https://github.com/acrisci/playerctl/issues/85
+  mesonFlags = [ "-Dgtk-doc=false" ];
 
   meta = with stdenv.lib; {
     description = "Command-line utility and library for controlling media players that implement MPRIS";
diff --git a/pkgs/tools/backup/wal-g/default.nix b/pkgs/tools/backup/wal-g/default.nix
index 0cd18dae1c27..ce9237a7c6bc 100644
--- a/pkgs/tools/backup/wal-g/default.nix
+++ b/pkgs/tools/backup/wal-g/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, brotli }:
 
 buildGoPackage rec {
   name = "wal-g-${version}";
-  version = "0.1.12";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner  = "wal-g";
     repo   = "wal-g";
     rev    = "v${version}";
-    sha256 = "06k71xz96jpg6966xj48a8j07v0vk37b5v2k1bnqrbin4sma3s0c";
+    sha256 = "08lk7by1anxpd9v97xbf9443kk4n1w63zaar2nz86w8i3k3b4id9";
   };
 
+  buildInputs = [ brotli ];
+
+  doCheck = true;
+
   goPackagePath = "github.com/wal-g/wal-g";
   meta = {
     inherit (src.meta) homepage;
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 9769896313ea..fe180e8abc9c 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, intltool, pkgconfig, python3Packages, bluez, gtk3
 , obex_data_server, xdg_utils, libnotify, dnsmasq, dhcp
-, hicolor-icon-theme, librsvg, wrapGAppsHook, gobjectIntrospection
+, hicolor-icon-theme, librsvg, wrapGAppsHook, gobject-introspection
 , withPulseAudio ? true, libpulseaudio }:
 
 let
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    gobjectIntrospection intltool pkgconfig pythonPackages.cython
+    gobject-introspection intltool pkgconfig pythonPackages.cython
     pythonPackages.wrapPython wrapGAppsHook
   ];
 
diff --git a/pkgs/tools/filesystems/f2fs-tools/default.nix b/pkgs/tools/filesystems/f2fs-tools/default.nix
index a1428a257742..90bb443dfdd2 100644
--- a/pkgs/tools/filesystems/f2fs-tools/default.nix
+++ b/pkgs/tools/filesystems/f2fs-tools/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libselinux libuuid ];
 
+  patches = [ ./f2fs-tools-cross-fix.patch ];
+
   meta = with stdenv.lib; {
     homepage = http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/;
     description = "Userland tools for the f2fs filesystem";
diff --git a/pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch b/pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch
new file mode 100644
index 000000000000..1503732240c3
--- /dev/null
+++ b/pkgs/tools/filesystems/f2fs-tools/f2fs-tools-cross-fix.patch
@@ -0,0 +1,27 @@
+--- f2fs-tools/configure.ac.orig	2018-11-29 05:05:57.154988687 +0300
++++ f2fs-tools/configure.ac	2018-11-29 05:06:12.667316101 +0300
+@@ -20,14 +20,16 @@
+ 				[\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]),
+ 				[Minor version for f2fs-tools])
+ 
+-AC_CHECK_FILE(.git,
+-	AC_DEFINE([F2FS_TOOLS_DATE],
+-		"m4_bpatsubst(f2fs_tools_gitdate,
+-		[\([0-9-]*\)\(\w\|\W\)*], [\1])",
+-		[f2fs-tools date based on Git commits]),
+-	AC_DEFINE([F2FS_TOOLS_DATE],
+-		"f2fs_tools_date",
+-		[f2fs-tools date based on Source releases]))
++dnl AC_CHECK_FILE(.git,
++dnl 	AC_DEFINE([F2FS_TOOLS_DATE],
++dnl 		"m4_bpatsubst(f2fs_tools_gitdate,
++dnl 		[\([0-9-]*\)\(\w\|\W\)*], [\1])",
++dnl 		[f2fs-tools date based on Git commits]),
++dnl 	AC_DEFINE([F2FS_TOOLS_DATE],
++dnl 		"f2fs_tools_date",
++dnl 		[f2fs-tools date based on Source releases]))
++
++AC_DEFINE([F2FS_TOOLS_DATE], "f2fs_tools_date", [f2fs-tools date based on Source releases])
+ 
+ AC_CONFIG_SRCDIR([config.h.in])
+ AC_CONFIG_HEADER([config.h])
diff --git a/pkgs/tools/filesystems/jfsutils/ar-fix.patch b/pkgs/tools/filesystems/jfsutils/ar-fix.patch
new file mode 100644
index 000000000000..697029cd5a8c
--- /dev/null
+++ b/pkgs/tools/filesystems/jfsutils/ar-fix.patch
@@ -0,0 +1,10 @@
+--- jfsutils-1.1.15/configure.in.orig	2018-11-27 20:46:55.830242385 +0300
++++ jfsutils-1.1.15/configure.in	2018-11-27 20:47:00.596307630 +0300
+@@ -15,6 +15,7 @@
+ AC_PATH_PROG(LN, ln, ln)
+ AC_PROG_LN_S
+ AC_PROG_RANLIB
++AM_PROG_AR
+ 
+ dnl Checks for header files.
+ AC_HEADER_STDC
diff --git a/pkgs/tools/filesystems/jfsutils/default.nix b/pkgs/tools/filesystems/jfsutils/default.nix
index acc7a91d93f5..92dfe00c9514 100644
--- a/pkgs/tools/filesystems/jfsutils/default.nix
+++ b/pkgs/tools/filesystems/jfsutils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libuuid }:
+{ stdenv, fetchurl, libuuid, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "jfsutils-1.1.15";
@@ -8,8 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "0kbsy2sk1jv4m82rxyl25gwrlkzvl3hzdga9gshkxkhm83v1aji4";
   };
 
-  patches = [ ./types.patch ./hardening-format.patch ];
+  patches = [
+    ./types.patch
+    ./hardening-format.patch
+    # required for cross-compilation
+    ./ar-fix.patch
+  ];
 
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libuuid ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/filesystems/lizardfs/default.nix b/pkgs/tools/filesystems/lizardfs/default.nix
index 0c8f05d6904d..f6637b621b8e 100644
--- a/pkgs/tools/filesystems/lizardfs/default.nix
+++ b/pkgs/tools/filesystems/lizardfs/default.nix
@@ -1,8 +1,10 @@
 { stdenv
+, fetchzip
 , fetchFromGitHub
 , cmake
 , makeWrapper
 , python
+, db
 , fuse
 , asciidoc
 , libxml2
@@ -16,28 +18,46 @@
 , zlib # optional
 }:
 
-stdenv.mkDerivation rec {
+let
+  # See https://github.com/lizardfs/lizardfs/blob/3.12/cmake/Libraries.cmake
+  # We have to download it ourselves, as the build script normally does a download
+  # on-build, which is not good
+  spdlog = fetchzip {
+    name = "spdlog-0.14.0";
+    url = "https://github.com/gabime/spdlog/archive/v0.14.0.zip";
+    sha256 = "13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q";
+  };
+in stdenv.mkDerivation rec {
   name = "lizardfs-${version}";
-  version = "3.11.3";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "lizardfs";
     repo = "lizardfs";
     rev = "v${version}";
-    sha256 = "1njgj242vgpdqb1di321jfqk4al5lk72x2iyp0nldy7h6r98l2ww";
+    sha256 = "0zk73wmx82ari3m2mv0zx04x1ggsdmwcwn7k6bkl5c0jnxffc4ax";
   };
 
-  buildInputs = 
-    [ cmake fuse asciidoc libxml2 libxslt docbook_xml_dtd_412 docbook_xsl
-      zlib boost pkgconfig judy pam makeWrapper
+  nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
+
+  buildInputs =
+    [ db fuse asciidoc libxml2 libxslt docbook_xml_dtd_412 docbook_xsl
+      zlib boost judy pam
     ];
 
+  patches = [
+    ./remove-download-external.patch
+  ];
+
+  postUnpack = ''
+    mkdir $sourceRoot/external/spdlog-0.14.0
+    cp -R ${spdlog}/* $sourceRoot/external/spdlog-0.14.0/
+    chmod -R 755 $sourceRoot/external/spdlog-0.14.0/
+  '';
+
   postInstall = ''
     wrapProgram $out/sbin/lizardfs-cgiserver \
         --prefix PATH ":" "${python}/bin"
-
-    # mfssnapshot and mfscgiserv are deprecated
-    rm $out/bin/mfssnapshot $out/sbin/mfscgiserv
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/filesystems/lizardfs/remove-download-external.patch b/pkgs/tools/filesystems/lizardfs/remove-download-external.patch
new file mode 100644
index 000000000000..6bbe95197772
--- /dev/null
+++ b/pkgs/tools/filesystems/lizardfs/remove-download-external.patch
@@ -0,0 +1,25 @@
+From d3f8111ade372c1eb7f3973031f59198508fb588 Mon Sep 17 00:00:00 2001
+From: Kevin Liu <kevin@potatofrom.space>
+Date: Thu, 23 Aug 2018 10:31:42 -0400
+Subject: [PATCH] Remove download_external for spdlog
+
+---
+ cmake/Libraries.cmake | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/cmake/Libraries.cmake b/cmake/Libraries.cmake
+index 1f951e59..2134444a 100644
+--- a/cmake/Libraries.cmake
++++ b/cmake/Libraries.cmake
+@@ -7,11 +7,6 @@ if(ENABLE_TESTS)
+                     "ef5e700c8a0f3ee123e2e0209b8b4961")
+ endif()
+ 
+-download_external(SPDLOG "spdlog-0.14.0"
+-                  "https://github.com/gabime/spdlog/archive/v0.14.0.zip"
+-                  "f213d83c466aa7044a132e2488d71b11"
+-                  "spdlog-1")
+-
+ # Find standard libraries
+ find_package(Socket REQUIRED)
+ find_package(Threads REQUIRED)
diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix
index 1cbe48ecee54..de9d1a16fdbc 100644
--- a/pkgs/tools/filesystems/mtools/default.nix
+++ b/pkgs/tools/filesystems/mtools/default.nix
@@ -1,17 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mtools-4.0.20";
+  name = "mtools-4.0.21";
 
   src = fetchurl {
     url = "mirror://gnu/mtools/${name}.tar.bz2";
-    sha256 = "1vcahr9s6zv1hnrx2bgjnzcas2y951q90r1jvvv4q9v5kwfd6qb0";
+    sha256 = "1kybydx74qgbwpnjvjn49msf8zipchl43d4cq8zzwcyvfkdzw7h2";
   };
 
-  # Prevents errors such as "mainloop.c:89:15: error: expected ')'"
-  # Upstream issue https://lists.gnu.org/archive/html/info-mtools/2014-02/msg00000.html
-  patches = [ ./fix-dos_to_wchar-declaration.patch ] ++
-    stdenv.lib.optional stdenv.isDarwin ./UNUSED-darwin.patch;
+  patches = stdenv.lib.optional stdenv.isDarwin ./UNUSED-darwin.patch;
 
   # fails to find X on darwin
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--without-x";
@@ -19,7 +16,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with stdenv.lib; {
-    homepage = http://www.gnu.org/software/mtools/;
+    homepage = https://www.gnu.org/software/mtools/;
     description = "Utilities to access MS-DOS disks";
     platforms = platforms.unix;
     license = licenses.gpl3;
diff --git a/pkgs/tools/filesystems/mtools/fix-dos_to_wchar-declaration.patch b/pkgs/tools/filesystems/mtools/fix-dos_to_wchar-declaration.patch
deleted file mode 100644
index 576a14b1cb46..000000000000
--- a/pkgs/tools/filesystems/mtools/fix-dos_to_wchar-declaration.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- mtools-4.0.20.org/charsetConv.c	2018-11-19 10:16:14.183820865 +0000
-+++ mtools-4.0.20/charsetConv.c	2018-11-19 10:15:39.808451465 +0000
-@@ -266,7 +266,7 @@
- 	free(cp);
- }
- 
--int dos_to_wchar(doscp_t *cp, char *dos, wchar_t *wchar, size_t len)
-+int dos_to_wchar(doscp_t *cp, const char *dos, wchar_t *wchar, size_t len)
- {
- 	int i;
- 
diff --git a/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix b/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
index a4dcb408e058..fd6088891023 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "dmraid-1.0.0.rc15";
 
   src = fetchurl {
-    url = "http://people.redhat.com/~heinzm/sw/dmraid/src/old/${name}.tar.bz2";
+    url = "https://people.redhat.com/~heinzm/sw/dmraid/src/old/${name}.tar.bz2";
     sha256 = "01bcaq0sc329ghgj7f182xws7jgjpdc41bvris8fsiprnxc7511h";
   };
 
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix b/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
index 6fb9bd98fb36..881301ed38e5 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   md5_path = "f6d33a8362dee358517d0a9e2ebdd044";
 
   src = fetchurl rec {
-    url = "http://src.fedoraproject.org/repo/pkgs/python-pyblock/"
+    url = "https://src.fedoraproject.org/repo/pkgs/python-pyblock/"
         + "${name}.tar.bz2/${md5_path}/${name}.tar.bz2";
     sha256 = "f6cef88969300a6564498557eeea1d8da58acceae238077852ff261a2cb1d815";
   };
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
index b86c0e5229af..ce1d0bf28a16 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
@@ -6,7 +6,7 @@ buildPythonApplication rec {
   md5_path = "d249f60aa89b1b4facd63f776925116d";
 
   src = fetchurl rec {
-    url = "http://src.fedoraproject.org/repo/pkgs/pykickstart/"
+    url = "https://src.fedoraproject.org/repo/pkgs/pykickstart/"
         + "${name}.tar.gz/${md5_path}/${name}.tar.gz";
     sha256 = "e0d0f98ac4c5607e6a48d5c1fba2d50cc804de1081043f9da68cbfc69cad957a";
   };
diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix
index e23dd5f0bd14..345974bed58d 100644
--- a/pkgs/tools/filesystems/reiserfsprogs/default.nix
+++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libuuid }:
+{ stdenv, fetchurl, libuuid, autoreconfHook }:
 
 let version = "3.6.24"; in
 stdenv.mkDerivation rec {
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0q07df9wxxih8714a3mdp61h5n347l7j2a0l351acs3xapzgwi3y";
   };
 
+  patches = [ ./reiserfsprogs-ar-fix.patch ];
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libuuid ];
 
   NIX_CFLAGS_COMPILE = "-std=gnu90";
diff --git a/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch b/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch
new file mode 100644
index 000000000000..356782a3d984
--- /dev/null
+++ b/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch
@@ -0,0 +1,10 @@
+--- reiserfsprogs-3.6.24/configure.ac.orig	2018-11-29 17:16:52.313624894 +0300
++++ reiserfsprogs-3.6.24/configure.ac	2018-11-29 17:16:54.480669132 +0300
+@@ -21,6 +21,7 @@
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+ AC_PROG_RANLIB
++AM_PROG_AR
+ 
+ dnl Checks for libraries.
+ 
diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix
index 9c279f99b005..8a9af4ba13c1 100644
--- a/pkgs/tools/filesystems/smbnetfs/default.nix
+++ b/pkgs/tools/filesystems/smbnetfs/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     license = licenses.gpl2;
-    downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs";
+    downloadPage = "https://sourceforge.net/projects/smbnetfs/files/smbnetfs";
     updateWalker = true;
     inherit version;
     homepage = https://sourceforge.net/projects/smbnetfs/;
diff --git a/pkgs/tools/filesystems/smbnetfs/default.upstream b/pkgs/tools/filesystems/smbnetfs/default.upstream
index 9e2ba2bd59bb..d56fa42f1d1b 100644
--- a/pkgs/tools/filesystems/smbnetfs/default.upstream
+++ b/pkgs/tools/filesystems/smbnetfs/default.upstream
@@ -1,4 +1,4 @@
-url http://sourceforge.net/projects/smbnetfs/files/smbnetfs/
+url https://sourceforge.net/projects/smbnetfs/files/smbnetfs/
 version_link '[-][0-9.]+[a-z]*/$'
 version_link '[.]tar[.][a-z0-9]+/download$'
 SF_redirect
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index 0a6cc4f03fdc..98cc327bc29c 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,42 +1,41 @@
-{ stdenv, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, readline
-, buildPackages, libuuid
+{ stdenv, buildPackages, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, pkgconfig
+, icu, libuuid, readline
 }:
 
 let
   gentooPatch = name: sha256: fetchpatch {
-    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=f4055adc94e11d182033a71e32f97b357c034aff";
+    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=2517dd766cf84d251631f4324f7ec4bce912abb9";
     inherit sha256;
   };
 in
 
 stdenv.mkDerivation rec {
   name = "xfsprogs-${version}";
-  version = "4.14.0";
+  version = "4.19.0";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git";
     rev = "v${version}";
-    sha256 = "19mg3avm188xz215hqbbh7251q27qwm7g1xr8ffrjwvzmdq55rxj";
+    sha256 = "18728hzfxr1bg4bdzqlxjs893ac1zwlfr7nmc2q4a1sxs0sphd1d";
   };
 
   outputs = [ "bin" "dev" "out" "doc" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [
-    autoconf automake libtool gettext
+    autoconf automake libtool gettext pkgconfig
     libuuid # codegen tool uses libuuid
   ];
+  buildInputs = [ readline icu ];
   propagatedBuildInputs = [ libuuid ]; # Dev headers include <uuid/uuid.h>
-  buildInputs = [ readline ];
 
   enableParallelBuilding = true;
 
   # Why is all this garbage needed? Why? Why?
   patches = [
-    (gentooPatch "xfsprogs-4.12.0-sharedlibs.patch" "1i081749x91jvlrw84l4a3r081vqcvn6myqhnqbnfcfhd64h12bq")
-    (gentooPatch "xfsprogs-4.7.0-libxcmd-link.patch" "1lvy1ajzml39a631a7jqficnzsd40bzkca7hkxv1ybiqyp8sf55s")
+    (gentooPatch "xfsprogs-4.15.0-sharedlibs.patch" "0bv2naxpiw7vcsg8p1v2i47wgfda91z1xy1kfwydbp4wmb4nbyyv")
+    (gentooPatch "xfsprogs-4.15.0-docdir.patch" "1srgdidvq2ka0rmfdwpqp92fapgh53w1h7rajm4nnby5vp2v8dfr")
     (gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7")
-    ./glibc-2.27.patch
   ];
 
   preConfigure = ''
diff --git a/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch b/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch
deleted file mode 100644
index 1f398b1daa85..000000000000
--- a/pkgs/tools/filesystems/xfsprogs/glibc-2.27.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 8041435de7ed028a27ecca64302945ad455c69a6 Mon Sep 17 00:00:00 2001
-From: "Darrick J. Wong" <darrick.wong@oracle.com>
-Date: Mon, 5 Feb 2018 14:38:02 -0600
-Subject: xfs_io: fix copy_file_range symbol name collision
-
-glibc 2.27 has a copy_file_range wrapper, so we need to change our
-internal function out of the way to avoid compiler warnings.
-
-Reported-by: fredrik@crux.nu
-Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
-Reviewed-by: Eric Sandeen <sandeen@redhat.com>
-Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
----
- io/copy_file_range.c | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/io/copy_file_range.c b/io/copy_file_range.c
-index d1dfc5a..99fba20 100644
---- a/io/copy_file_range.c
-+++ b/io/copy_file_range.c
-@@ -42,13 +42,18 @@ copy_range_help(void)
- "));
- }
- 
-+/*
-+ * Issue a raw copy_file_range syscall; for our test program we don't want the
-+ * glibc buffered copy fallback.
-+ */
- static loff_t
--copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len)
-+copy_file_range_cmd(int fd, loff_t *src, loff_t *dst, size_t len)
- {
- 	loff_t ret;
- 
- 	do {
--		ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, len, 0);
-+		ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst,
-+				len, 0);
- 		if (ret == -1) {
- 			perror("copy_range");
- 			return errno;
-@@ -130,7 +135,7 @@ copy_range_f(int argc, char **argv)
- 		copy_dst_truncate();
- 	}
- 
--	ret = copy_file_range(fd, &src, &dst, len);
-+	ret = copy_file_range_cmd(fd, &src, &dst, len);
- 	close(fd);
- 	return ret;
- }
--- 
-cgit v1.1
-
diff --git a/pkgs/tools/graphics/perceptualdiff/default.nix b/pkgs/tools/graphics/perceptualdiff/default.nix
new file mode 100644
index 000000000000..d394a816a49d
--- /dev/null
+++ b/pkgs/tools/graphics/perceptualdiff/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, freeimage }:
+
+stdenv.mkDerivation rec {
+  pname = "perceptualdiff";
+  name = "${pname}-${version}";
+  version = "2.1";
+
+  src = fetchFromGitHub {
+    owner = "myint";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "176n518xv0pczf1yyz9r5a8zw5r6sh5ym596kmvw30qznp8n4a8j";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ freeimage ];
+
+  meta = with stdenv.lib; {
+    description = "A program that compares two images using a perceptually based image metric";
+    homepage = "https://github.com/myint/perceptualdiff";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ uri-canva ];
+    platforms = platforms.x86;
+  };
+}
diff --git a/pkgs/tools/graphics/transfig/default.nix b/pkgs/tools/graphics/transfig/default.nix
index cb3f0edff0f8..ceee3b7674d9 100644
--- a/pkgs/tools/graphics/transfig/default.nix
+++ b/pkgs/tools/graphics/transfig/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, zlib, libjpeg, libpng, imake}:
+{ stdenv, fetchurl, zlib, libjpeg, libpng, imake, gccmakedep }:
 
 stdenv.mkDerivation rec {
   name = "transfig-3.2.4";
@@ -7,7 +7,8 @@ stdenv.mkDerivation rec {
     sha256 = "0429snhp5acbz61pvblwlrwv8nxr6gf12p37f9xxwrkqv4ir7dd4";
   };
 
-  buildInputs = [zlib libjpeg libpng imake];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ zlib libjpeg libpng ];
 
   patches = [
     ./patch-fig2dev-dev-Imakefile
@@ -45,12 +46,7 @@ stdenv.mkDerivation rec {
     runHook postPatch
   '';
 
-  preBuild = ''
-    xmkmf
-    make Makefiles
-  '';
-
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   preInstall = ''
     mkdir -p $out
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index 489442e4c2a4..7381238e4acb 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -5,7 +5,7 @@
   fetchFromGitHub,
   autoreconfHook,
   gtk-doc,
-  gobjectIntrospection,
+  gobject-introspection,
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     sha256 = "1dwcpmpqbgb9lkajnqv50mrsn97mxbxpq6b5aya7fgfkgdnrs9sw";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook gtk-doc gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook gtk-doc gobject-introspection ];
   buildInputs = [ glib libxml2 fftw orc lcms
     imagemagick openexr libtiff libjpeg
     libgsf libexif python27 libpng expat ]
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
index c7f7369ba88d..bd5645fe721c 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig
-, anthy, ibus, glib, gobjectIntrospection, gtk3, python3
+, anthy, ibus, glib, gobject-introspection, gtk3, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t" ];
 
   buildInputs = [
-    anthy glib gobjectIntrospection gtk3 ibus (python3.withPackages (ps: [ps.pygobject3]))
+    anthy glib gobject-introspection gtk3 ibus (python3.withPackages (ps: [ps.pygobject3]))
   ];
 
   nativeBuildInputs = [ intltool pkgconfig python3.pkgs.wrapPython ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index d09806402af7..9b7895d614bc 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, docbook2x, pkgconfig
-, gtk3, dconf, gobjectIntrospection
+, gtk3, dconf, gobject-introspection
 , ibus, python3 }:
 
 stdenv.mkDerivation rec {
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    dconf gtk3 gobjectIntrospection ibus (python3.withPackages (pypkgs: with pypkgs; [ pygobject3 ]))
+    dconf gtk3 gobject-introspection ibus (python3.withPackages (pypkgs: with pypkgs; [ pygobject3 ]))
   ];
 
   nativeBuildInputs = [ autoreconfHook docbook2x pkgconfig python3.pkgs.wrapPython ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 86ff8e68fe7a..1514959ea045 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, python3, ibus, pkgconfig, gtk3, m17n_lib
-, wrapGAppsHook, gobjectIntrospection
+, wrapGAppsHook, gobject-introspection
 }:
 
 let
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./hunspell-dirs.patch ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook gobjectIntrospection ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook gobject-introspection ];
   buildInputs = [ python ibus gtk3 m17n_lib ];
 
   preFixup = ''
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 3b6f3c989a33..16580aac9557 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromGitHub, autoreconfHook, gconf, intltool, makeWrapper, pkgconfig
-, vala, wrapGAppsHook, dbus, dconf ? null, glib, gdk_pixbuf, gobjectIntrospection, gtk2
+, vala, wrapGAppsHook, dbus, dconf ? null, glib, gdk_pixbuf, gobject-introspection, gtk2
 , gtk3, gtk-doc, isocodes, python3, json-glib, libnotify ? null, enablePythonLibrary ? true
 , enableUI ? true, withWayland ? false, libxkbcommon ? null, wayland ? null
 , buildPackages }:
@@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
     dbus
     dconf
     gdk_pixbuf
-    gobjectIntrospection
+    gobject-introspection
     gtk2
     gtk3
     isocodes
diff --git a/pkgs/tools/inputmethods/libkkc/default.nix b/pkgs/tools/inputmethods/libkkc/default.nix
index 7311b09008b9..33de43b6f5e5 100644
--- a/pkgs/tools/inputmethods/libkkc/default.nix
+++ b/pkgs/tools/inputmethods/libkkc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, vala, gobjectIntrospection, intltool, python2Packages, glib
+, vala, gobject-introspection, intltool, python2Packages, glib
 , pkgconfig
 , libgee, json-glib, marisa, libkkc-data
 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    vala gobjectIntrospection
+    vala gobject-introspection
     python2Packages.python python2Packages.marisa
     intltool glib pkgconfig
   ];
diff --git a/pkgs/tools/misc/bmon/default.nix b/pkgs/tools/misc/bmon/default.nix
index 9c7eafe351f7..fc10538bbbbd 100644
--- a/pkgs/tools/misc/bmon/default.nix
+++ b/pkgs/tools/misc/bmon/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, ncurses, confuse
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, ncurses, libconfuse
 , libnl }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
-  buildInputs = [ ncurses confuse libnl ];
+  buildInputs = [ ncurses libconfuse libnl ];
 
   meta = with stdenv.lib; {
     description = "Network bandwidth monitor";
diff --git a/pkgs/tools/misc/clipster/default.nix b/pkgs/tools/misc/clipster/default.nix
index e71ba3bf58ed..7b501d097bb7 100644
--- a/pkgs/tools/misc/clipster/default.nix
+++ b/pkgs/tools/misc/clipster/default.nix
@@ -1,5 +1,5 @@
 {fetchFromGitHub , stdenv, python3, gtk3, libwnck3,
- gobjectIntrospection, wrapGAppsHook }:
+ gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation  rec {
   name = "clipster-${version}";
@@ -14,7 +14,7 @@ stdenv.mkDerivation  rec {
 
   pythonEnv = python3.withPackages(ps: with ps; [ pygobject3 ]);
 
-  buildInputs =  [ pythonEnv gtk3 libwnck3 gobjectIntrospection wrapGAppsHook ];
+  buildInputs =  [ pythonEnv gtk3 libwnck3 gobject-introspection wrapGAppsHook ];
 
   installPhase = ''
     sed -i 's/python/python3/g' clipster
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index e442850fbaaf..8edcf6e6629b 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, bash-completion
 , glib, polkit, pkgconfig, gettext, gusb, lcms2, sqlite, systemd, dbus
-, gobjectIntrospection, argyllcms, meson, ninja, libxml2, vala_0_40
+, gobject-introspection, argyllcms, meson, ninja, libxml2, vala_0_40
 , libgudev, sane-backends, gnome3, makeWrapper }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     "-Denable-docs=false"
   ];
 
-  nativeBuildInputs = [ meson pkgconfig vala_0_40 ninja gettext libxml2 gobjectIntrospection makeWrapper ];
+  nativeBuildInputs = [ meson pkgconfig vala_0_40 ninja gettext libxml2 gobject-introspection makeWrapper ];
 
   buildInputs = [ glib polkit gusb lcms2 sqlite systemd dbus bash-completion argyllcms libgudev sane-backends ];
 
diff --git a/pkgs/tools/misc/diskus/default.nix b/pkgs/tools/misc/diskus/default.nix
index 55489aec32a2..7b0681f31663 100644
--- a/pkgs/tools/misc/diskus/default.nix
+++ b/pkgs/tools/misc/diskus/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "diskus-${version}";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "diskus";
-    rev = "cf4a5e0dc5bf3daedabe4b25343e7eb6238930c0";
-    sha256 = "1w5fnpwdsfaca2177qn0clf8j7zwgzhdckjdl2zdbs5qrdwdqrd2";
+    rev = "v${version}";
+    sha256 = "18scxspi5ncags8bnxq4ah9w8hrlwwlgpq7q9qfh4d81asmbyr8n";
   };
 
-  cargoSha256 = "08wm85cs0fi03a75wp276w5hgch3kd787py51jjcxdanm2viq7zv";
+  cargoSha256 = "1syrmm5qpz7d1h17xpw1wa3d2snaz9n7d1avsjp7xz8s2qcx1wdc";
 
   meta = with stdenv.lib; {
     description = "A minimal, fast alternative to 'du -sh'";
diff --git a/pkgs/tools/misc/hashit/default.nix b/pkgs/tools/misc/hashit/default.nix
index 46e460db354f..0cb839c26ffc 100644
--- a/pkgs/tools/misc/hashit/default.nix
+++ b/pkgs/tools/misc/hashit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, cmake, vala_0_40, python3, gnome3, gtk3, granite, gobjectIntrospection, desktop-file-utils, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, cmake, vala_0_40, python3, gnome3, gtk3, granite, gobject-introspection, desktop-file-utils, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "hashit";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     desktop-file-utils
-    gobjectIntrospection
+    gobject-introspection
     meson
     ninja
     pkgconfig
diff --git a/pkgs/tools/misc/ldmtool/default.nix b/pkgs/tools/misc/ldmtool/default.nix
index 266db2ac8115..c6b544f9e0a1 100644
--- a/pkgs/tools/misc/ldmtool/default.nix
+++ b/pkgs/tools/misc/ldmtool/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoconf, automake, gtk-doc, pkgconfig, libuuid,
-  libtool, readline, gobjectIntrospection, json-glib, lvm2, libxslt, docbook_xsl }:
+  libtool, readline, gobject-introspection, json-glib, lvm2, libxslt, docbook_xsl }:
 
 stdenv.mkDerivation rec {
    name = "ldmtool-${version}";
@@ -17,11 +17,14 @@ stdenv.mkDerivation rec {
        -e 's|-nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl|--nonet ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl|g'
    '';
 
+   # ldm.c:951:5: error: 'g_type_class_add_private' is deprecated [-Werror=deprecated-declarations]
+   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
    configureScript = "sh autogen.sh";
 
    nativeBuildInputs = [ pkgconfig ];
    buildInputs = [ autoconf automake gtk-doc lvm2 libxslt.bin
-     libtool readline gobjectIntrospection json-glib libuuid
+     libtool readline gobject-introspection json-glib libuuid
    ];
 
    meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/mysqltuner/default.nix b/pkgs/tools/misc/mysqltuner/default.nix
index 38cfa8b19cd1..9c483fe3b8f2 100644
--- a/pkgs/tools/misc/mysqltuner/default.nix
+++ b/pkgs/tools/misc/mysqltuner/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mysqltuner-${version}";
-  version = "1.6.18";
+  version = "1.7.13";
 
   src = fetchFromGitHub {
     owner  = "major";
     repo   = "MySQLTuner-perl";
     rev    = version;
-    sha256 = "14dblrjqciyx6k7yczfzbaflc7hdxnj0kyy6q0lqfz8imszdkpi2";
+    sha256 = "0zxm2hjvgznbbmsqb8bpcgzc0yq1ikxz1gckirp95ibxid3jdham";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/misc/nbench/default.nix b/pkgs/tools/misc/nbench/default.nix
new file mode 100644
index 000000000000..2312ce236abd
--- /dev/null
+++ b/pkgs/tools/misc/nbench/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "nbench-byte-${version}";
+  version = "2.2.3";
+
+  src = fetchurl {
+    url = "http://www.math.utah.edu/~mayer/linux/${name}.tar.gz";
+    sha256 = "1b01j7nmm3wd92ngvsmn2sbw43sl9fpx4xxmkrink68fz1rx0gbj";
+  };
+
+  buildInputs = [ stdenv.cc.libc.static ];
+  prePatch = ''
+    substituteInPlace nbench1.h --replace '"NNET.DAT"' "\"$out/NNET.DAT\""
+  '';
+  preBuild = ''
+    makeFlagsArray=(CC=$CC)
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp nbench $out/bin
+    cp NNET.DAT $out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.math.utah.edu/~mayer/linux/bmark.html;
+    description = "A synthetic computing benchmark program";
+    platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ bennofs ];
+  };
+}
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index 25cba56449cd..fc3d016757b5 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk-doc, gobjectIntrospection, gnome3
+{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk-doc, gobject-introspection, gnome3
 , glib, systemd, xz, e2fsprogs, libsoup, gpgme, which, autoconf, automake, libtool, fuse, utillinuxMinimal, libselinux
 , libarchive, libcap, bzip2, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42, python3
 }:
@@ -46,7 +46,7 @@ in stdenv.mkDerivation {
   ];
 
   nativeBuildInputs = [
-    autoconf automake libtool pkgconfig gtk-doc gobjectIntrospection which yacc
+    autoconf automake libtool pkgconfig gtk-doc gobject-introspection which yacc
     libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
diff --git a/pkgs/tools/misc/otfcc/default.nix b/pkgs/tools/misc/otfcc/default.nix
index acf46a58a6bf..96e5e6a1d94e 100644
--- a/pkgs/tools/misc/otfcc/default.nix
+++ b/pkgs/tools/misc/otfcc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, premake5, ninja }:
+{ stdenv, fetchFromGitHub, premake5 }:
 
 stdenv.mkDerivation rec {
   name = "otfcc-${version}";
@@ -11,15 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "1rnjfqqyc6d9nhlh8if9k37wk94mcwz4wf3k239v6idg48nrk10b";
   };
 
-  nativeBuildInputs = [ premake5 ninja ];
+  nativeBuildInputs = [ premake5 ];
 
-  configurePhase = ''
-    premake5 ninja
+  # Don’t guess where our makefiles will end up. Just use current
+  # directory.
+  patchPhase = ''
+    substituteInPlace premake5.lua \
+      --replace 'location "build/gmake"' 'location "."'
   '';
 
-  ninjaFlags = let x = if stdenv.hostPlatform.isi686 then "x86" else "x64"; in
-    [ "-C" "build/ninja" "otfccdump_release_${x}" "otfccbuild_release_${x}" ];
-
   installPhase = ''
     mkdir -p $out/bin
     cp bin/release-x*/otfcc* $out/bin/
diff --git a/pkgs/tools/misc/pgcenter/default.nix b/pkgs/tools/misc/pgcenter/default.nix
new file mode 100644
index 000000000000..81a98b562f71
--- /dev/null
+++ b/pkgs/tools/misc/pgcenter/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "pgcenter-${version}";
+  version = "0.5.0";
+
+  goPackagePath = "github.com/lesovsky/pgcenter";
+
+  src = fetchFromGitHub {
+    owner  = "lesovsky";
+    repo   = "pgcenter";
+    rev    = "v${version}";
+    sha256 = "1bbpzli8hh5356gink6byk085zyfwxi8wigdy5cbadppx4qnk078";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    homepage = https://pgcenter.org/;
+    description = "Command-line admin tool for observing and troubleshooting PostgreSQL";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/tools/misc/pgcenter/deps.nix b/pkgs/tools/misc/pgcenter/deps.nix
new file mode 100644
index 000000000000..1b12538155c6
--- /dev/null
+++ b/pkgs/tools/misc/pgcenter/deps.nix
@@ -0,0 +1,112 @@
+[
+
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/jehiah/go-strftime";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jehiah/go-strftime";
+      rev = "1d33003b3869";
+      sha256 = "056zagn4zhmrcqg8y5k5wql01x4ijbxn4pv75bh1bn45by6qx1gv";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/jroimartin/gocui";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jroimartin/gocui";
+      rev = "v0.4.0";
+      sha256 = "1b1cbjg925l1c5v3ls8amni9716190yzf847cqs9wjnj82z8qa47";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/lib/pq";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lib/pq";
+      rev = "v1.0.0";
+      sha256 = "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "v0.0.3";
+      sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/nsf/termbox-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nsf/termbox-go";
+      rev = "b66b20ab708e";
+      sha256 = "0wrgnwfdxrspni5q15vzr5q1bxnzb7m6q4xjhllcyddgn2zqprsa";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "v0.0.3";
+      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.2";
+      sha256 = "005598piihl3l83a71ahj10cpq9pbhjck4xishx1b4dzc02r9xr2";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "0e37d006457b";
+      sha256 = "1fj8rvrhgv5j8pmckzphvm3sqkzhcqp3idkxvgv13qrjdfycsa5r";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "ee1b12c67af4";
+      sha256 = "0cgp0xzbhg3fr77n2qrfmmsvhc287srnwi4mghwcjdxp6rx0s988";
+    };
+  }
+]
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 75b9dd15fb7f..feb8fa4fbc1d 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchpatch, fetchFromGitHub, ostree, rpm, which, autoconf, automake, libtool, pkgconfig,
-  gobjectIntrospection, gtk-doc, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, gperf, cmake,
+  gobject-introspection, gtk-doc, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, gperf, cmake,
   libcap, glib, systemd, json-glib, libarchive, libsolv, librepo, polkit,
   bubblewrap, pcre, check, python }:
 
@@ -33,7 +33,7 @@ in stdenv.mkDerivation {
 
   nativeBuildInputs = [
     pkgconfig which autoconf automake libtool cmake gperf
-    gobjectIntrospection gtk-doc libxml2 libxslt docbook_xsl docbook_xml_dtd_42
+    gobject-introspection gtk-doc libxml2 libxslt docbook_xsl docbook_xml_dtd_42
   ];
   buildInputs = [
     libcap ostree rpm glib systemd polkit bubblewrap
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index c898761e424b..025833431176 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto, wrapGAppsHook
 , docbook_xml_dtd_412, docbook_xsl
 , libxml2, desktop-file-utils, libusb1, cups, gdk_pixbuf, pango, atk, libnotify
-, gobjectIntrospection, libsecret
+, gobject-introspection, libsecret
 , cups-filters
 , pythonPackages
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib udev libusb1 cups
     pythonPackages.python
-    libnotify gobjectIntrospection gdk_pixbuf pango atk
+    libnotify gobject-introspection gdk_pixbuf pango atk
     libsecret
   ];
 
diff --git a/pkgs/tools/misc/woeusb/default.nix b/pkgs/tools/misc/woeusb/default.nix
index 5232088ab1b1..f73aa4547993 100644
--- a/pkgs/tools/misc/woeusb/default.nix
+++ b/pkgs/tools/misc/woeusb/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, makeWrapper
-, coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, utillinux, wget
+, coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, p7zip, utillinux, wget
 , wxGTK30 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "0jzgwh9xv92yns5yi5zpl49zbp3csh6m6iclgq070awpjpsqlqi0";
   };
 
-  buildInputs = [ wxGTK30 autoreconfHook makeWrapper ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper ];
+  buildInputs = [ wxGTK30 ];
 
   postPatch = ''
     # Emulate version smudge filter (see .gitattributes, .gitconfig).
@@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
     # should be patched with a less useless default PATH, but for now
     # we add everything we need manually.
     wrapProgram "$out/bin/woeusb" \
-      --set PATH '${stdenv.lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted utillinux wget ]}'
+      --set PATH '${stdenv.lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted utillinux wget p7zip ]}'
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/tools/misc/xburst-tools/default.nix b/pkgs/tools/misc/xburst-tools/default.nix
index ca642035a0bb..aad5b35c79ff 100644
--- a/pkgs/tools/misc/xburst-tools/default.nix
+++ b/pkgs/tools/misc/xburst-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, libusb, libusb1, autoconf, automake, confuse, pkgconfig
+{ stdenv, fetchgit, libusb, libusb1, autoconf, automake, libconfuse, pkgconfig
 , gccCross ? null
 }:
 
@@ -28,8 +28,8 @@ stdenv.mkDerivation {
   # Not to strip cross build binaries (this is for the gcc-cross-wrapper)
   dontCrossStrip = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libusb libusb1 autoconf automake confuse ] ++
+  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  buildInputs = [ libusb libusb1 libconfuse ] ++
     stdenv.lib.optional (gccCross != null) gccCross;
 
   meta = {
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index 5c66c545636c..9992c9db99e1 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "yad-0.40.0";
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/yad-dialog/files/${name}.tar.xz";
+    url = "mirror://sourceforge/yad-dialog/files/${name}.tar.xz";
     sha256 = "1x0fsv8nfkm8lchdawnf3zw79jaqbnvhv87sk5r8g86knv8vgl62";
   };
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://yad-dialog.sourceforge.net/;
+    homepage = https://sourceforge.net/projects/yad-dialog/;
     description = "GUI dialog tool for shell scripts";
     longDescription = ''
       Yad (yet another dialog) is a GUI dialog tool for shell scripts. It is a
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index 4725b0a7d72f..406cf0a04eaf 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
 , libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl, docbook_xml_dtd_43
 , mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
-, libgudev, jansson, wrapGAppsHook, gobjectIntrospection, python3
+, libgudev, jansson, wrapGAppsHook, gobject-introspection, python3
 , libappindicator-gtk3, withGnome ? false }:
 
 let
   pname = "network-manager-applet";
-  version = "1.8.16";
+  version = "1.8.18";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0lmlkh4yyl9smvkgrzshn127zqfbp9f41f448ks8dlhhm38s38v2";
+    sha256 = "0y31g0lxr93370xi74hbpvcy9m81n5wdkdhq8xy2nqp0y4219p13";
   };
 
   mesonFlags = [
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
     libappindicator-gtk3
   ] ++ stdenv.lib.optionals withGnome [ gnome3.gcr ]; # advanced certificate chooser
 
-  nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobjectIntrospection python3 gtk-doc docbook_xsl docbook_xml_dtd_43 libxml2 ];
+  nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobject-introspection python3 gtk-doc docbook_xsl docbook_xml_dtd_43 libxml2 ];
 
   postPatch = ''
     chmod +x meson_post_install.py # patchShebangs requires executable file
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 66d9434a470a..7b06b521aaa8 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, fetchpatch, substituteAll, intltool, pkgconfig, dbus-glib
 , gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables
 , libgcrypt, dnsmasq, bluez5, readline
-, gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
+, gobject-introspection, modemmanager, openresolv, libndp, newt, libsoup
 , ethtool, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
 , python3Packages, docbook_xsl, openconnect, curl, autoreconfHook }:
 
@@ -84,7 +84,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     systemd libuuid polkit ppp libndp curl
-    bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup jansson
+    bluez5 dnsmasq gobject-introspection modemmanager readline newt libsoup jansson
   ];
 
   propagatedBuildInputs = [ dbus-glib gnutls libgcrypt python3Packages.pygobject3 ];
diff --git a/pkgs/tools/networking/network-manager/dmenu.nix b/pkgs/tools/networking/network-manager/dmenu.nix
index 93827eebb571..665db4cc287b 100644
--- a/pkgs/tools/networking/network-manager/dmenu.nix
+++ b/pkgs/tools/networking/network-manager/dmenu.nix
@@ -1,5 +1,5 @@
 { stdenv, glib, fetchFromGitHub, networkmanager, python3Packages
-, gobjectIntrospection }:
+, gobject-introspection }:
 
 let inherit (python3Packages) python pygobject3;
 in stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
     sha256 = "1z6151z7c4jv5k2i50zr7ld4k3m07dgpmss9f3hsav95cv55dcnb";
   };
 
-  buildInputs = [ glib python pygobject3 gobjectIntrospection networkmanager python3Packages.wrapPython ];
+  buildInputs = [ glib python pygobject3 gobject-introspection networkmanager python3Packages.wrapPython ];
 
   dontBuild = true;
 
diff --git a/pkgs/tools/networking/p2p/bittornado/default.nix b/pkgs/tools/networking/p2p/bittornado/default.nix
deleted file mode 100644
index 8cda50bcb1d3..000000000000
--- a/pkgs/tools/networking/p2p/bittornado/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, python3, fetchFromGitHub }:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "BitTornado";
-  version = "unstable-2018-02-09";
-
-  src = fetchFromGitHub {
-    owner = "effigies";
-    repo = "BitTornado";
-    rev = "a3e6d8bcdf9d99de064dc58b4a3e909e0349e589";
-    sha256 = "099bci3as592psf8ymmz225qyz2lbjhya7g50cb7hk64k92mqk9k";
-  };
-
-  postFixup = ''
-    for i in $(ls $out/bin); do		
-      mv $out/bin/$i $out/bin/''${i%.py}
-    done
-  '';
-
-  meta = with lib; {
-    inherit (src.meta) homepage;
-    description = "John Hoffman's fork of the original bittorrent";
-    license = licenses.mit;
-    maintainers = with maintainers; [ dotlambda ];
-  };
-}
diff --git a/pkgs/tools/networking/ssmtp/default.nix b/pkgs/tools/networking/ssmtp/default.nix
index 24e96491f9d8..4c906812f64d 100644
--- a/pkgs/tools/networking/ssmtp/default.nix
+++ b/pkgs/tools/networking/ssmtp/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation {
       sed -e '/INSTALLED_CONFIGURATION_FILE/d' \
           -e 's|/lib/sendmail|$(TMPDIR)/sendmail|' \
           -i Makefile
+      substituteInPlace Makefile \
+        --replace '$(INSTALL) -s' '$(INSTALL) -s --strip-program $(STRIP)'
     '';
 
   installFlags = "etcdir=$(out)/etc";
diff --git a/pkgs/tools/networking/x11-ssh-askpass/default.nix b/pkgs/tools/networking/x11-ssh-askpass/default.nix
index 896a2ff4daaa..1b9d55349030 100644
--- a/pkgs/tools/networking/x11-ssh-askpass/default.nix
+++ b/pkgs/tools/networking/x11-ssh-askpass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xlibsWrapper, imake }:
+{ stdenv, fetchurl, xlibsWrapper, imake, gccmakedep }:
 
 stdenv.mkDerivation {
   name = "x11-ssh-askpass-1.2.4.1";
@@ -10,16 +10,16 @@ stdenv.mkDerivation {
     sha256 = "620de3c32ae72185a2c9aeaec03af24242b9621964e38eb625afb6cdb30b8c88";
   };
 
-  nativeBuildInputs = [ imake ];
+  nativeBuildInputs = [ imake gccmakedep ];
   buildInputs = [ xlibsWrapper ];
 
   configureFlags = [
     "--with-app-defaults-dir=$out/etc/X11/app-defaults"
   ];
 
-  preBuild = ''
-    xmkmf
-    make includes
+  dontUseImakeConfigure = true;
+  postConfigure = ''
+    xmkmf -a
   '';
 
   installTargets = [ "install" "install.man" ];
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index 5ba387a12f82..3c7ab447f004 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, lib
 , intltool, glib, pkgconfig, polkit, python, sqlite
-, gobjectIntrospection, vala_0_38, gtk-doc, autoreconfHook, autoconf-archive
+, gobject-introspection, vala_0_38, gtk-doc, autoreconfHook, autoconf-archive
 # TODO: set enableNixBackend to true, as soon as it builds
 , nix, enableNixBackend ? false, boost
 , enableCommandNotFound ? false
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     sha256 = "0zr4b3ax8lcd3wkgj1cybs2cqf38br2nvl91qkw9g2jmzlq6bvic";
   };
 
-  buildInputs = [ glib polkit python gobjectIntrospection vala_0_38 ]
+  buildInputs = [ glib polkit python gobject-introspection vala_0_38 ]
                   ++ lib.optional enableSystemd systemd
                   ++ lib.optional enableBashCompletion bash-completion;
   propagatedBuildInputs = [ sqlite nix boost ];
diff --git a/pkgs/tools/security/ecryptfs/default.nix b/pkgs/tools/security/ecryptfs/default.nix
index 91546f1a78f4..d0d01761c246 100644
--- a/pkgs/tools/security/ecryptfs/default.nix
+++ b/pkgs/tools/security/ecryptfs/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "111";
 
   src = fetchurl {
-    url = "http://launchpad.net/ecryptfs/trunk/${version}/+download/ecryptfs-utils_${version}.orig.tar.gz";
+    url = "https://launchpad.net/ecryptfs/trunk/${version}/+download/ecryptfs-utils_${version}.orig.tar.gz";
     sha256 = "0zwq19siiwf09h7lwa7n7mgmrr8cxifp45lmwgcfr8c1gviv6b0i";
   };
 
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
index 9398b38cb34c..27bdc51c7688 100644
--- a/pkgs/tools/security/gencfsm/default.nix
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoconf, automake, intltool, libtool, pkgconfig, encfs
-, glib , gnome3, gtk3, libgnome-keyring, vala, wrapGAppsHook, xorg, gobjectIntrospection
+, glib , gnome3, gtk3, libgnome-keyring, vala, wrapGAppsHook, xorg, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ autoconf automake intltool libtool vala glib encfs
     gtk3 libgnome-keyring gnome3.libgee xorg.libSM xorg.libICE
-    wrapGAppsHook gobjectIntrospection  ];
+    wrapGAppsHook gobject-introspection  ];
 
   patches = [ ./makefile-mkdir.patch ];
 
diff --git a/pkgs/tools/security/kbfs/default.nix b/pkgs/tools/security/kbfs/default.nix
index f5b2ba3803c8..e8824bd73fcd 100644
--- a/pkgs/tools/security/kbfs/default.nix
+++ b/pkgs/tools/security/kbfs/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "kbfs-${version}";
-  version = "2.6.0";
+  version = "2.10.1";
 
   goPackagePath = "github.com/keybase/kbfs";
   subPackages = [ "kbfsfuse" "kbfsgit/git-remote-keybase" ];
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "kbfs";
     rev = "v${version}";
-    sha256 = "0i4f1bc0gcnax572s749m7zcpy53a0f9yzi4lwc312zzxi7krz2f";
+    sha256 = "0c03jm4pxqh4cfg1d7c833hdl8l57f1sbfqxwdq16y5s2cac1yss";
   };
 
   buildFlags = [ "-tags production" ];
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 720c382ebd67..a13adad037d1 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -5,7 +5,7 @@
 
 buildGoPackage rec {
   name = "keybase-${version}";
-  version = "2.7.3";
+  version = "2.10.1";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/keybase" ];
@@ -16,7 +16,7 @@ buildGoPackage rec {
     owner  = "keybase";
     repo   = "client";
     rev    = "v${version}";
-    sha256 = "1sw6v3vf544vp8grw8p287cx078mr9v0v1wffcj6f9p9shlwj7ic";
+    sha256 = "1gfxnqzs8msxmykg1zrhrrl2slmb29gl7b8s4m2g44zxaj91gfi9";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index 8831f26a42d5..422ca4ac9cfa 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -1,9 +1,26 @@
-{ stdenv, fetchurl, alsaLib, atk, cairo, cups
-, dbus, expat, fontconfig, freetype, gcc, gdk_pixbuf, glib, gnome2, gtk3
-, libnotify, nspr, nss, pango, systemd, xorg }:
+{ stdenv, fetchurl, alsaLib, atk, cairo, cups, udev, hicolor-icon-theme
+, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib, gnome2, gtk3, gnome3
+, libnotify, nspr, nss, pango, systemd, xorg, autoPatchelfHook, wrapGAppsHook }:
 
 let
-  libPath = stdenv.lib.makeLibraryPath [
+  versionSuffix = "20181121195344.99751ac04f";
+in
+
+stdenv.mkDerivation rec {
+  name = "keybase-gui-${version}";
+  version = "2.11.0"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+
+  src = fetchurl {
+    url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
+    sha256 = "1gh7brdw2p4xfdgc43vrmv0lvki2f3691mfh6lvksy1dv43yb8zl";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
     alsaLib
     atk
     cairo
@@ -12,10 +29,10 @@ let
     expat
     fontconfig
     freetype
-    gcc.cc
     gdk_pixbuf
     glib
     gnome2.GConf
+    gnome3.gsettings-desktop-schemas
     gtk3
     libnotify
     nspr
@@ -23,7 +40,7 @@ let
     pango
     systemd
     xorg.libX11
-    xorg.libxcb
+    xorg.libXScrnSaver
     xorg.libXcomposite
     xorg.libXcursor
     xorg.libXdamage
@@ -32,22 +49,23 @@ let
     xorg.libXi
     xorg.libXrandr
     xorg.libXrender
-    xorg.libXScrnSaver
     xorg.libXtst
+    xorg.libxcb
   ];
-in
-stdenv.mkDerivation rec {
-  name = "keybase-gui-${version}";
-  version = "2.7.0-20180926133747.0d62c866fc";
-  src = fetchurl {
-    url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version}_amd64.deb";
-    sha256 = "0a0ax3skfw398vcjl7822qp7160lbll1snwdqsa13dy8qrjl1byp";
-  };
-  phases = ["unpackPhase" "installPhase" "fixupPhase"];
+
+  runtimeDependencies = [
+    udev.lib
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+  dontPatchElf = true;
+
   unpackPhase = ''
     ar xf $src
     tar xf data.tar.xz
   '';
+
   installPhase = ''
     mkdir -p $out/bin
     mv usr/share $out/share
@@ -83,13 +101,10 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/share/applications/keybase.desktop \
       --replace run_keybase $out/bin/keybase-gui
   '';
-  postFixup = ''
-    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath "${libPath}:\$ORIGIN" "$out/share/keybase/Keybase"
-  '';
 
   meta = with stdenv.lib; {
     homepage = https://www.keybase.io/;
-    description = "The Keybase official GUI.";
+    description = "The Keybase official GUI";
     platforms = platforms.linux;
     maintainers = with maintainers; [ puffnfresh np ];
     license = licenses.bsd3;
diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix
index b8da305c36d1..3d30fef02e29 100644
--- a/pkgs/tools/security/mkpasswd/default.nix
+++ b/pkgs/tools/security/mkpasswd/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   src = whois.src;
 
-  buildInputs = [ perl ];
+  nativeBuildInputs = [ perl ];
 
   preConfigure = whois.preConfigure;
   buildPhase = "make mkpasswd";
diff --git a/pkgs/tools/security/onioncircuits/default.nix b/pkgs/tools/security/onioncircuits/default.nix
index 24840426fd46..81164c1eb77f 100644
--- a/pkgs/tools/security/onioncircuits/default.nix
+++ b/pkgs/tools/security/onioncircuits/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pythonPackages, intltool, gtk3, gobjectIntrospection, defaultIconTheme }:
+{ stdenv, fetchgit, pythonPackages, intltool, gtk3, gobject-introspection, defaultIconTheme }:
 
 pythonPackages.buildPythonApplication rec {
   name = "onioncircuits-${version}";
@@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "13mqif9b9iajpkrl9ijspdnvy82kxhprxd5mw3njk68rcn4z2pcm";
   };
 
-  buildInputs = [ intltool gtk3 gobjectIntrospection ];
+  buildInputs = [ intltool gtk3 gobject-introspection ];
   propagatedBuildInputs =  with pythonPackages; [ stem distutils_extra pygobject3 ];
 
   postFixup = ''
diff --git a/pkgs/tools/security/super/default.nix b/pkgs/tools/security/super/default.nix
index 2b4173a51af1..1f00d42f2774 100644
--- a/pkgs/tools/security/super/default.nix
+++ b/pkgs/tools/security/super/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [
-   (fetchpatch { url = http://anonscm.debian.org/cgit/users/robert/super.git/plain/debian/patches/14-Fix-unchecked-setuid-call.patch;
+   (fetchpatch { url = https://salsa.debian.org/debian/super/raw/debian/3.30.0-7/debian/patches/14-Fix-unchecked-setuid-call.patch;
                  sha256 = "08m9hw4kyfjv0kqns1cqha4v5hkgp4s4z0q1rgif1fnk14xh7wqh";
                })
   ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   installFlags = "sysconfdir=$(out)/etc localstatedir=$(TMPDIR)";
 
   meta = {
-    homepage = http://www.ucolick.org/~will/;
+    homepage = "https://www.ucolick.org/~will/#super";
     description = "Allows users to execute scripts as if they were root";
     longDescription =
       ''
diff --git a/pkgs/tools/security/wpscan/Gemfile b/pkgs/tools/security/wpscan/Gemfile
new file mode 100644
index 000000000000..f20afe0e6543
--- /dev/null
+++ b/pkgs/tools/security/wpscan/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'wpscan', '= 3.4.0'
diff --git a/pkgs/tools/security/wpscan/Gemfile.lock b/pkgs/tools/security/wpscan/Gemfile.lock
new file mode 100644
index 000000000000..47283ab6de84
--- /dev/null
+++ b/pkgs/tools/security/wpscan/Gemfile.lock
@@ -0,0 +1,55 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activesupport (5.2.1)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
+      minitest (~> 5.1)
+      tzinfo (~> 1.1)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
+    cms_scanner (0.0.41.0)
+      activesupport (~> 5.2)
+      addressable (~> 2.5)
+      nokogiri (~> 1.8.0)
+      opt_parse_validator (~> 0.0.16.4)
+      public_suffix (~> 3.0.0)
+      ruby-progressbar (~> 1.10.0)
+      typhoeus (~> 1.3.0)
+      xmlrpc (~> 0.3)
+      yajl-ruby (~> 1.4.1)
+    concurrent-ruby (1.1.3)
+    ethon (0.11.0)
+      ffi (>= 1.3.0)
+    ffi (1.9.25)
+    i18n (1.1.1)
+      concurrent-ruby (~> 1.0)
+    mini_portile2 (2.3.0)
+    minitest (5.11.3)
+    nokogiri (1.8.5)
+      mini_portile2 (~> 2.3.0)
+    opt_parse_validator (0.0.16.4)
+      activesupport (~> 5.2.1)
+      addressable (~> 2.5.0)
+    public_suffix (3.0.3)
+    ruby-progressbar (1.10.0)
+    thread_safe (0.3.6)
+    typhoeus (1.3.1)
+      ethon (>= 0.9.0)
+    tzinfo (1.2.5)
+      thread_safe (~> 0.1)
+    wpscan (3.4.0)
+      activesupport (~> 5.2)
+      cms_scanner (~> 0.0.41.0)
+      yajl-ruby (~> 1.3)
+    xmlrpc (0.3.0)
+    yajl-ruby (1.4.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  wpscan (= 3.4.0)
+
+BUNDLED WITH
+   1.16.3
diff --git a/pkgs/tools/security/wpscan/default.nix b/pkgs/tools/security/wpscan/default.nix
new file mode 100644
index 000000000000..9049318c249d
--- /dev/null
+++ b/pkgs/tools/security/wpscan/default.nix
@@ -0,0 +1,21 @@
+{ bundlerApp, lib, makeWrapper, curl }:
+
+bundlerApp {
+  pname = "wpscan";
+  gemdir = ./.;
+  exes = [ "wpscan" ];
+
+  buildInputs = [ makeWrapper ];
+  postBuild = ''
+    wrapProgram "$out/bin/wpscan" \
+      --prefix PATH : ${lib.makeBinPath [ curl ]}
+  '';
+
+  meta = with lib; {
+    description = "Black box WordPress vulnerability scanner";
+    homepage    = https://wpscan.org/;
+    license     = licenses.unfreeRedistributable;
+    maintainers = [ maintainers.nyanloutre ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/wpscan/gemset.nix b/pkgs/tools/security/wpscan/gemset.nix
new file mode 100644
index 000000000000..5c27c726be6f
--- /dev/null
+++ b/pkgs/tools/security/wpscan/gemset.nix
@@ -0,0 +1,164 @@
+{
+  activesupport = {
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ziy6xk31k4fs115cdkba1ys4i8nzcyri7a2jig7nx7k5h7li6l2";
+      type = "gem";
+    };
+    version = "5.2.1";
+  };
+  addressable = {
+    dependencies = ["public_suffix"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
+      type = "gem";
+    };
+    version = "2.5.2";
+  };
+  cms_scanner = {
+    dependencies = ["activesupport" "addressable" "nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "typhoeus" "xmlrpc" "yajl-ruby"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1azsvgg070dng2jaz44zaqkvqyhf3pj131nqa7wdv3bsqp8y7kap";
+      type = "gem";
+    };
+    version = "0.0.41.0";
+  };
+  concurrent-ruby = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18q9skp5pfq4jwbxzmw8q2rn4cpw6mf4561i2hsjcl1nxdag2jvb";
+      type = "gem";
+    };
+    version = "1.1.3";
+  };
+  ethon = {
+    dependencies = ["ffi"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0y70szwm2p0b9qfvpqrzjrgm3jz0ig65vlbfr6ppc3z0m1h7kv48";
+      type = "gem";
+    };
+    version = "0.11.0";
+  };
+  ffi = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
+      type = "gem";
+    };
+    version = "1.9.25";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
+  mini_portile2 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11";
+      type = "gem";
+    };
+    version = "2.3.0";
+  };
+  minitest = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      type = "gem";
+    };
+    version = "5.11.3";
+  };
+  nokogiri = {
+    dependencies = ["mini_portile2"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz";
+      type = "gem";
+    };
+    version = "1.8.5";
+  };
+  opt_parse_validator = {
+    dependencies = ["activesupport" "addressable"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1m3flpg1d7la1frip3vn0hgm6d91f0ys1jq2bhxr5va1vjbfvgbs";
+      type = "gem";
+    };
+    version = "0.0.16.4";
+  };
+  public_suffix = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
+      type = "gem";
+    };
+    version = "3.0.3";
+  };
+  ruby-progressbar = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
+      type = "gem";
+    };
+    version = "1.10.0";
+  };
+  thread_safe = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      type = "gem";
+    };
+    version = "0.3.6";
+  };
+  typhoeus = {
+    dependencies = ["ethon"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
+  tzinfo = {
+    dependencies = ["thread_safe"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
+      type = "gem";
+    };
+    version = "1.2.5";
+  };
+  wpscan = {
+    dependencies = ["activesupport" "cms_scanner" "yajl-ruby"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17mqqaiawp3apdfw4l6r2wp0a4f0rp8wdqd2426xkna7vsxgh8gs";
+      type = "gem";
+    };
+    version = "3.4.0";
+  };
+  xmlrpc = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1s744iwblw262gj357pky3d9fcx9hisvla7rnw29ysn5zsb6i683";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  yajl-ruby = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf";
+      type = "gem";
+    };
+    version = "1.4.1";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/system/dfc/default.nix b/pkgs/tools/system/dfc/default.nix
index 4b6ead9667d0..9a255c1b0ea6 100644
--- a/pkgs/tools/system/dfc/default.nix
+++ b/pkgs/tools/system/dfc/default.nix
@@ -1,21 +1,21 @@
 {stdenv, fetchurl, cmake, gettext}:
 
 stdenv.mkDerivation rec {
-  name = "dfc-3.0.5";
+  name = "dfc-${version}";
+  version = "3.1.1";
 
   src = fetchurl {
-    url = "https://projects.gw-computing.net/attachments/download/467/${name}.tar.gz";
-    sha256 = "0yl5dl1nydinji71zz37c7myg3vg9jzxq89rcjqlfcy5dcfpm51w";
+    url = "https://projects.gw-computing.net/attachments/download/615/${name}.tar.gz";
+    sha256 = "0m1fd7l85ckb7bq4c5c3g257bkjglm8gq7x42pkmpp87fkknc94n";
   };
 
-  buildInputs = [ cmake gettext ];
+  nativeBuildInputs = [ cmake gettext ];
 
   meta = {
     homepage = https://projects.gw-computing.net/projects/dfc;
     description = "Displays file system space usage using graphs and colors";
-    license="free";
+    license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [qknight];
-    platforms = with stdenv.lib.platforms; all;
+    platforms = stdenv.lib.platforms.all;
   };
 }
-
diff --git a/pkgs/tools/system/efivar/default.nix b/pkgs/tools/system/efivar/default.nix
index 8f1367d3fdce..4072b8834cab 100644
--- a/pkgs/tools/system/efivar/default.nix
+++ b/pkgs/tools/system/efivar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, popt }:
+{ stdenv, buildPackages, fetchFromGitHub, pkgconfig, popt }:
 
 stdenv.mkDerivation rec {
   name = "efivar-${version}";
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ popt ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   makeFlags = [
     "prefix=$(out)"
diff --git a/pkgs/tools/system/hardinfo/default.nix b/pkgs/tools/system/hardinfo/default.nix
index a2bffab3a981..0c6f812cb3e7 100644
--- a/pkgs/tools/system/hardinfo/default.nix
+++ b/pkgs/tools/system/hardinfo/default.nix
@@ -19,6 +19,9 @@ stdenv.mkDerivation rec {
   # Fixes '#error You must compile this program without "-O"'
   hardeningDisable = [ "all" ];
 
+  # Ignore undefined references to a bunch of libsoup symbols
+  NIX_LDFLAGS = "--unresolved-symbol=ignore-all";
+
   preConfigure = ''
     patchShebangs configure
 
diff --git a/pkgs/tools/system/hardlink/default.nix b/pkgs/tools/system/hardlink/default.nix
index 5a6b1c22288c..c9a21db71010 100644
--- a/pkgs/tools/system/hardlink/default.nix
+++ b/pkgs/tools/system/hardlink/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Consolidate duplicate files via hardlinks";
     homepage = https://pagure.io/hardlink;
-    repositories.git = http://src.fedoraproject.org/cgit/rpms/hardlink.git;
+    repositories.git = https://src.fedoraproject.org/cgit/rpms/hardlink.git;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index a578f9db97a6..b553206f13ab 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     license = licenses.bsd3;
-    downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
+    downloadPage = "https://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
     inherit version;
   };
 }
diff --git a/pkgs/tools/system/ipmiutil/default.upstream b/pkgs/tools/system/ipmiutil/default.upstream
index 9ea779c8cdd2..45e3a936825a 100644
--- a/pkgs/tools/system/ipmiutil/default.upstream
+++ b/pkgs/tools/system/ipmiutil/default.upstream
@@ -1,4 +1,4 @@
-url http://sourceforge.net/projects/ipmiutil/files/
+url https://sourceforge.net/projects/ipmiutil/files/
 SF_version_tarball
 SF_redirect
 minimize_overwrite
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index e5b2d54e585d..039c9a8e6a54 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -7,7 +7,7 @@ let
   dbrev = "4548";
   drivedbBranch = "RELEASE_${builtins.replaceStrings ["."] ["_"] version}_DRIVEDB";
   driverdb = fetchurl {
-    url    = "http://sourceforge.net/p/smartmontools/code/${dbrev}/tree/branches/${drivedbBranch}/smartmontools/drivedb.h?format=raw";
+    url    = "https://sourceforge.net/p/smartmontools/code/${dbrev}/tree/branches/${drivedbBranch}/smartmontools/drivedb.h?format=raw";
     sha256 = "0nwk4ir0c40b01frqm7a0lvljh5k9yhslc3j4485zjsx3v5w269f";
     name   = "smartmontools-drivedb.h";
   };
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Tools for monitoring the health of hard drives";
-    homepage    = http://smartmontools.sourceforge.net/;
+    homepage    = https://www.smartmontools.org/;
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ peti ];
     platforms   = with platforms; linux ++ darwin;
diff --git a/pkgs/tools/text/gist/default.nix b/pkgs/tools/text/gist/default.nix
index f5dcbb9191c6..7091031d28f0 100644
--- a/pkgs/tools/text/gist/default.nix
+++ b/pkgs/tools/text/gist/default.nix
@@ -1,21 +1,11 @@
-{ buildRubyGem, lib, ruby, makeWrapper }:
+{ buildRubyGem, lib, ruby }:
 
 buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "gist";
-  version = "4.6.2";
-  source.sha256 = "0zrw84k2982aiansmv2aj3101d3giwa58221n6aisvg5jq5kmiib";
-
-  buildInputs = [ makeWrapper ];
-
-  postInstall = ''
-    # Fix the default ruby wrapper
-    makeWrapper $out/${ruby.gemPath}/bin/gist $out/bin/gist \
-      --set GEM_PATH $out/${ruby.gemPath}:${ruby}/${ruby.gemPath}
-  '';
-
-  dontStrip = true;
+  version = "5.0.0";
+  source.sha256 = "1i0a73mzcjv4mj5vjqwkrx815ydsppx3v812lxxd9mk2s7cj1vyd";
 
   meta = with lib; {
     description = "Upload code to https://gist.github.com (or github enterprise)";
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 5fe4ab5d7239..dc2e330e0134 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,22 +2,21 @@
 
 buildGoPackage rec {
   name = "vale-${version}";
-  version = "1.0.3";
-  rev    = "v${version}";
+  version = "1.2.6";
 
   goPackagePath = "github.com/errata-ai/vale";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner  = "errata-ai";
     repo   = "vale";
-    sha256 = "132zzgry19alcdn3m3q62sp2lm3yxc4kil12lm309jl7b3n0850h";
+    rev    = "v${version}";
+    sha256 = "1mhynasikncwz9dkk9z27qvwk03j7q0vx0wjnqg69pd97lgrp7zp";
   };
 
   goDeps = ./deps.nix;
 
   meta = with stdenv.lib; {
-    homepage = https://errata.ai/vale/getting-started/;
+    homepage = https://errata-ai.github.io/vale/;
     description = "Vale is an open source linter for prose";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
diff --git a/pkgs/tools/video/vncrec/default.nix b/pkgs/tools/video/vncrec/default.nix
index 7efcf6cbf83a..49a2c4d4acb0 100644
--- a/pkgs/tools/video/vncrec/default.nix
+++ b/pkgs/tools/video/vncrec/default.nix
@@ -12,16 +12,17 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  nativeBuildInputs = [ imake gccmakedep ];
   buildInputs = [
-    libX11 xproto imake gccmakedep libXt libXmu libXaw
+    libX11 xproto libXt libXmu libXaw
     libXext xextproto libSM libICE libXpm libXp
   ];
 
-  buildPhase = ''xmkmf && make World'';
-
-  installPhase = ''
-    make DESTDIR=$out BINDIR=/bin MANDIR=/share/man/man1 install install.man
-  '';
+  makeFlags = [
+    "BINDIR=${placeholder "out"}/bin"
+    "MANDIR=${placeholder "out"}/share/man"
+  ];
+  installTargets = "install install.man";
 
   meta = {
     description = "VNC recorder";
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 02971c5dcff6..94edaf6dbee4 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -113,6 +113,7 @@ mapAliases ({
   gnome_themes_standard = gnome-themes-standard; # added 2018-02-25
   gnustep-make = gnustep.make; # added 2016-7-6
   go-pup = pup; # added 2017-12-19
+  gobjectIntrospection = gobject-introspection; # added 2018-12-02
   goimports = gotools; # added 2018-09-16
   googleAuthenticator = google-authenticator; # added 2016-10-16
   grantlee5 = libsForQt5.grantlee;  # added 2015-12-19
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a06c5374450f..b24d22bb0172 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -183,7 +183,7 @@ with pkgs;
   fetchfossil = callPackage ../build-support/fetchfossil { };
 
   fetchgit = callPackage ../build-support/fetchgit {
-    git = gitMinimal;
+    git = buildPackages.gitMinimal;
   };
 
   fetchgitPrivate = callPackage ../build-support/fetchgit/private.nix { };
@@ -314,8 +314,8 @@ with pkgs;
     ... # For hash agility
   }@args: fetchzip ({
     inherit name;
-    url = "http://repo.or.cz/${repo}.git/snapshot/${rev}.tar.gz";
-    meta.homepage = "http://repo.or.cz/${repo}.git/";
+    url = "https://repo.or.cz/${repo}.git/snapshot/${rev}.tar.gz";
+    meta.homepage = "https://repo.or.cz/${repo}.git/";
   } // removeAttrs args [ "repo" "rev" ]) // { inherit rev; };
 
   fetchNuGet = callPackage ../build-support/fetchnuget { };
@@ -420,6 +420,8 @@ with pkgs;
 
   iconConvTools = callPackage ../build-support/icon-conv-tools {};
 
+  #package writers
+  writers = callPackage ../build-support/writers {};
 
   ### TOOLS
 
@@ -593,6 +595,8 @@ with pkgs;
 
   autoflake = callPackage ../development/tools/analysis/autoflake { };
 
+  autospotting = callPackage ../applications/misc/autospotting { };
+
   avfs = callPackage ../tools/filesystems/avfs { };
 
   avldrums-lv2 = callPackage ../applications/audio/avldrums-lv2 { };
@@ -681,6 +685,8 @@ with pkgs;
 
   cozy = callPackage ../applications/audio/cozy-audiobooks { };
 
+  deskew = callPackage ../applications/graphics/deskew { };
+
   diskus = callPackage ../tools/misc/diskus { };
 
   djmount = callPackage ../tools/filesystems/djmount { };
@@ -938,8 +944,6 @@ with pkgs;
 
   bitbucket-cli = python2Packages.bitbucket-cli;
 
-  bittornado = callPackage ../tools/networking/p2p/bittornado { };
-
   blink = callPackage ../applications/networking/instant-messengers/blink { };
 
   blockhash = callPackage ../tools/graphics/blockhash { };
@@ -1581,6 +1585,8 @@ with pkgs;
 
   parallel-rust = callPackage ../tools/misc/parallel-rust { };
 
+  pyCA = python3Packages.callPackage ../applications/video/pyca {};
+
   scour = with python3Packages; toPythonApplication scour;
 
   s2png = callPackage ../tools/graphics/s2png { };
@@ -2774,6 +2780,8 @@ with pkgs;
 
   fuse-7z-ng = callPackage ../tools/filesystems/fuse-7z-ng { };
 
+  fusee-launcher = callPackage ../development/tools/fusee-launcher { };
+
   fwknop = callPackage ../tools/security/fwknop { };
 
   exfat = callPackage ../tools/filesystems/exfat { };
@@ -2884,11 +2892,11 @@ with pkgs;
 
   gitlab-runner = callPackage ../development/tools/continuous-integration/gitlab-runner { };
 
-  gitlab-shell = callPackage ../applications/version-management/gitlab-shell { };
+  gitlab-shell = callPackage ../applications/version-management/gitlab/gitlab-shell { };
 
-  gitlab-workhorse = callPackage ../applications/version-management/gitlab-workhorse { };
+  gitlab-workhorse = callPackage ../applications/version-management/gitlab/gitlab-workhorse { };
 
-  gitaly = callPackage ../applications/version-management/gitaly { };
+  gitaly = callPackage ../applications/version-management/gitlab/gitaly { };
 
   gitstats = callPackage ../applications/version-management/gitstats { };
 
@@ -2926,6 +2934,8 @@ with pkgs;
 
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
+  gnome-podcasts = callPackage ../applications/audio/gnome-podcasts { };
+
   gnokii = callPackage ../tools/misc/gnokii { };
 
   gnuapl = callPackage ../development/interpreters/gnu-apl { };
@@ -3764,10 +3774,14 @@ with pkgs;
 
   mxt-app = callPackage ../misc/mxt-app { };
 
+  mxisd = callPackage ../servers/mxisd { };
+
   nagstamon = callPackage ../tools/misc/nagstamon {
     pythonPackages = python3Packages;
   };
 
+  nbench = callPackage ../tools/misc/nbench { };
+
   netdata = callPackage ../tools/system/netdata {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation IOKit;
   };
@@ -3898,6 +3912,8 @@ with pkgs;
 
   libgaminggear = callPackage ../development/libraries/libgaminggear { };
 
+  libhandy = callPackage ../development/libraries/libhandy { };
+
   libipfix = callPackage ../development/libraries/libipfix { };
 
   libircclient = callPackage ../development/libraries/libircclient { };
@@ -4666,6 +4682,10 @@ with pkgs;
   pandoc = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskellPackages.pandoc) (drv: {
     configureFlags = drv.configureFlags or [] ++ ["-fembed_data_files"];
     buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed];
+    postInstall = ''
+      mkdir -p $out/share/man/man1
+      cp man/pandoc.1 $out/share/man/man1/
+    '';
   });
 
   pamtester = callPackage ../tools/security/pamtester { };
@@ -4690,22 +4710,17 @@ with pkgs;
 
   pepper = callPackage ../tools/admin/salt/pepper { };
 
+  perceptualdiff = callPackage ../tools/graphics/perceptualdiff { };
+
   percona-xtrabackup = callPackage ../tools/backup/percona-xtrabackup {
     boost = boost159;
   };
 
   pick = callPackage ../tools/misc/pick { };
 
-  pitivi = callPackage ../applications/video/pitivi {
-    gst = gst_all_1 //
-      { gst-plugins-bad = gst_all_1.gst-plugins-bad.overrideDerivation
-          (attrs: { nativeBuildInputs = attrs.nativeBuildInputs ++ [ gtk3 ];
-                    # Fix this build error in ./tests/examples/waylandsink:
-                    #   main.c:28:2: error: #error "Wayland is not supported in GTK+"
-                    configureFlags = attrs.configureFlags or [] ++ [ "--enable-wayland=no" ];
-                  });
-      };
-  };
+  pitivi = callPackage ../applications/video/pitivi { };
+
+  pulumi-bin = callPackage ../tools/admin/pulumi { };
 
   p0f = callPackage ../tools/security/p0f { };
 
@@ -4782,6 +4797,8 @@ with pkgs;
 
   pg_top = callPackage ../tools/misc/pg_top { };
 
+  pgcenter = callPackage ../tools/misc/pgcenter { };
+
   pgmetrics = callPackage ../tools/misc/pgmetrics { };
 
   pdsh = callPackage ../tools/networking/pdsh {
@@ -4961,7 +4978,7 @@ with pkgs;
 
   pwnat = callPackage ../tools/networking/pwnat { };
 
-  pwndbg = callPackage ../development/tools/misc/pwndbg { };
+  pwndbg = python3Packages.callPackage ../development/tools/misc/pwndbg { };
 
   pycangjie = pythonPackages.pycangjie;
 
@@ -5622,6 +5639,8 @@ with pkgs;
 
   znapzend = callPackage ../tools/backup/znapzend { };
 
+  targetcli = callPackage ../os-specific/linux/targetcli { };
+
   tarsnap = callPackage ../tools/backup/tarsnap { };
 
   tarsnapper = callPackage ../tools/backup/tarsnapper { };
@@ -6034,6 +6053,8 @@ with pkgs;
 
   woof = callPackage ../tools/misc/woof { };
 
+  wpscan = callPackage ../tools/security/wpscan { };
+
   wsmancli = callPackage ../tools/system/wsmancli {};
 
   wolfebin = callPackage ../tools/networking/wolfebin {
@@ -7506,6 +7527,7 @@ with pkgs;
     vala_0_36
     vala_0_38
     vala_0_40
+    vala_0_42
     vala;
 
   valadoc = callPackage ../development/tools/valadoc { };
@@ -7966,6 +7988,7 @@ with pkgs;
       stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
   }));
   spidermonkey_52 = callPackage ../development/interpreters/spidermonkey/52.nix { };
+  spidermonkey_60 = callPackage ../development/interpreters/spidermonkey/60.nix { };
   spidermonkey = spidermonkey_31;
 
   ssm-agent = callPackage ../applications/networking/cluster/ssm-agent { };
@@ -8499,7 +8522,7 @@ with pkgs;
 
   gede = libsForQt59.callPackage ../development/tools/misc/gede { };
 
-  gdbgui = callPackage ../development/tools/misc/gdbgui { };
+  gdbgui = python3Packages.callPackage ../development/tools/misc/gdbgui { };
 
   pmd = callPackage ../development/tools/analysis/pmd { };
 
@@ -8549,6 +8572,7 @@ with pkgs;
   gradle_2_14 = self.gradleGen.gradle_2_14;
   gradle_2_5 = self.gradleGen.gradle_2_5;
   gradle_3_5 = self.gradleGen.gradle_3_5;
+  gradle_4_10 = self.gradleGen.gradle_4_10;
 
   gperf = callPackage ../development/tools/misc/gperf { };
   # 3.1 changed some parameters from int to size_t, leading to mismatches.
@@ -8646,6 +8670,8 @@ with pkgs;
 
   kube-prompt = callPackage ../development/tools/kube-prompt { };
 
+  kubicorn = callPackage ../development/tools/kubicorn {  };
+
   kustomize = callPackage ../development/tools/kustomize { };
 
   kythe = callPackage ../development/tools/kythe { };
@@ -8900,6 +8926,8 @@ with pkgs;
 
   sbt-extras = callPackage ../development/tools/build-managers/sbt-extras { };
 
+  scss-lint = callPackage ../development/tools/scss-lint { };
+
   shallot = callPackage ../tools/misc/shallot { };
 
   shards = callPackage ../development/tools/build-managers/shards { };
@@ -8947,8 +8975,12 @@ with pkgs;
 
   spoofer-gui = callPackage ../tools/networking/spoofer { withGUI = true; };
 
+  sqlcheck = callPackage ../development/tools/database/sqlcheck { };
+
   sqlitebrowser = libsForQt5.callPackage ../development/tools/database/sqlitebrowser { };
 
+  sqlite-web = callPackage ../development/tools/database/sqlite-web { };
+
   sselp = callPackage ../tools/X11/sselp{ };
 
   stm32flash = callPackage ../development/tools/misc/stm32flash { };
@@ -8996,6 +9028,10 @@ with pkgs;
 
   tweak = callPackage ../applications/editors/tweak { };
 
+  tychus = callPackage ../development/tools/tychus {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation;
+  };
+
   uhd = callPackage ../development/tools/misc/uhd { };
 
   uisp = callPackage ../development/tools/misc/uisp { };
@@ -9045,6 +9081,8 @@ with pkgs;
     deps = [ xcbuild ];
   } ../development/tools/xcbuild/setup-hook.sh  ;
 
+  xcpretty = callPackage ../development/tools/xcpretty { };
+
   xmlindent = callPackage ../development/web/xmlindent {};
 
   xpwn = callPackage ../development/mobile/xpwn {};
@@ -9124,6 +9162,10 @@ with pkgs;
     #      apr with db58 on freebsd (nov 2015), for unknown reasons
   };
 
+  aravis = callPackage ../development/libraries/aravis {
+    inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad;
+  };
+
   arb = callPackage ../development/libraries/arb {};
 
   argp-standalone = callPackage ../development/libraries/argp-standalone {};
@@ -9333,8 +9375,6 @@ with pkgs;
 
   commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
 
-  confuse = callPackage ../development/libraries/confuse { };
-
   coredumper = callPackage ../development/libraries/coredumper { };
 
   ctl = callPackage ../development/libraries/ctl { };
@@ -9855,10 +9895,9 @@ with pkgs;
   gns3-gui = gns3Packages.guiStable;
   gns3-server = gns3Packages.serverStable;
 
-  gobjectIntrospection = callPackage ../development/libraries/gobject-introspection {
+  gobject-introspection = callPackage ../development/libraries/gobject-introspection {
     nixStoreDir = config.nix.storeDir or builtins.storeDir;
     inherit (darwin) cctools;
-    python = python2;
   };
 
   goocanvas = callPackage ../development/libraries/goocanvas { };
@@ -11055,8 +11094,6 @@ with pkgs;
 
   libosip = callPackage ../development/libraries/osip {};
 
-  libosip_3 = callPackage ../development/libraries/osip/3.nix {};
-
   libosmium = callPackage ../development/libraries/libosmium { };
 
   libosmocore = callPackage ../applications/misc/libosmocore { };
@@ -12489,7 +12526,7 @@ with pkgs;
   taglib-sharp = callPackage ../development/libraries/taglib-sharp { };
 
   talloc = callPackage ../development/libraries/talloc {
-    python = python2;
+    python = buildPackages.python2;
   };
 
   tclap = callPackage ../development/libraries/tclap {};
@@ -12712,7 +12749,11 @@ with pkgs;
 
   wcslib = callPackage ../development/libraries/wcslib { };
 
-  webkitgtk = webkitgtk220x;
+  webkitgtk = callPackage ../development/libraries/webkitgtk {
+    harfbuzz = harfbuzzFull;
+    inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
+    stdenv = overrideCC stdenv gcc6;
+  };
 
   webkitgtk24x-gtk3 = callPackage ../development/libraries/webkitgtk/2.4.nix {
     harfbuzz = harfbuzzFull.override {
@@ -12722,19 +12763,6 @@ with pkgs;
     inherit (darwin) libobjc;
   };
 
-  webkitgtk220x = callPackage ../development/libraries/webkitgtk/2.20.nix {
-    harfbuzz = harfbuzzFull;
-    inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
-    stdenv = overrideCC stdenv gcc6;
-  };
-
-  webkitgtk222x = callPackage ../development/libraries/webkitgtk/2.22.nix {
-    harfbuzz = harfbuzzFull;
-    inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
-    stdenv = overrideCC stdenv gcc6;
-  };
-
-
   webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override {
     withGtk2 = true;
     enableIntrospection = false;
@@ -13139,7 +13167,7 @@ with pkgs;
     packages = [];
   };
 
-  rstudioWrapper = callPackage ../development/r-modules/wrapper-rstudio.nix {
+  rstudioWrapper = libsForQt5.callPackage ../development/r-modules/wrapper-rstudio.nix {
     recommendedPackages = with rPackages; [
       boot class cluster codetools foreign KernSmooth lattice MASS
       Matrix mgcv nlme nnet rpart spatial survival
@@ -13941,7 +13969,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa;
     inherit (darwin.apple_sdk.libs) Xplugin;
     bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null;
-    python = python2; # Incompatible with Python 3x
     udev = if stdenv.isLinux then udev else null;
     libdrm = if stdenv.isLinux then libdrm else null;
     abiCompat = config.xorg.abiCompat # `config` because we have no `xorg.override`
@@ -14159,8 +14186,6 @@ with pkgs;
   fuse3 = fusePackages.fuse_3;
   fuse-common = hiPrio fusePackages.fuse_3.common;
 
-  fusionio-util = callPackage ../os-specific/linux/fusionio/util.nix { };
-
   fxload = callPackage ../os-specific/linux/fxload { };
 
   gfxtablet = callPackage ../os-specific/linux/gfxtablet {};
@@ -14443,8 +14468,6 @@ with pkgs;
 
     v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { };
 
-    fusionio-vsl = callPackage ../os-specific/linux/fusionio/vsl.nix { };
-
     lttng-modules = callPackage ../os-specific/linux/lttng-modules { };
 
     broadcom_sta = callPackage ../os-specific/linux/broadcom-sta { };
@@ -15386,6 +15409,8 @@ with pkgs;
 
   maia-icon-theme = callPackage ../data/icons/maia-icon-theme { };
 
+  mailcap = callPackage ../data/misc/mailcap { };
+
   marathi-cursive = callPackage ../data/fonts/marathi-cursive { };
 
   man-pages = callPackage ../data/documentation/man-pages { };
@@ -16345,6 +16370,8 @@ with pkgs;
 
   eaglemode = callPackage ../applications/misc/eaglemode { };
 
+  echoip = callPackage ../servers/echoip { };
+
   eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse {
     jdk = jdk11;
   });
@@ -17173,6 +17200,10 @@ with pkgs;
 
   gnome-mpv = callPackage ../applications/video/gnome-mpv { };
 
+  gnome-recipes = callPackage ../applications/misc/gnome-recipes {
+    inherit (gnome3) gnome-online-accounts rest gnome-autoar gspell;
+  };
+
   gollum = callPackage ../applications/misc/gollum { };
 
   googleearth = callPackage ../applications/misc/googleearth { };
@@ -17461,8 +17492,6 @@ with pkgs;
   # Impressive, formerly known as "KeyJNote".
   impressive = callPackage ../applications/office/impressive { };
 
-  inferno = pkgsi686Linux.callPackage ../applications/inferno { };
-
   inkscape = callPackage ../applications/graphics/inkscape {
     lcms = lcms2;
     poppler = poppler_0_61;
@@ -18556,8 +18585,6 @@ with pkgs;
 
   poezio = python3Packages.poezio;
 
-  pommed = callPackage ../os-specific/linux/pommed {};
-
   pommed_light = callPackage ../os-specific/linux/pommed-light {};
 
   polymake = callPackage ../applications/science/math/polymake { };
@@ -18691,6 +18718,8 @@ with pkgs;
 
   qtscrobbler = callPackage ../applications/audio/qtscrobbler { };
 
+  quantomatic = callPackage ../applications/science/physics/quantomatic { };
+
   quassel = libsForQt5.callPackage ../applications/networking/irc/quassel {
     monolithic = true;
     daemon = false;
@@ -19283,6 +19312,11 @@ with pkgs;
     vte = gnome3.vte;
   };
 
+  aminal = callPackage ../applications/misc/aminal {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa Kernel;
+    inherit (darwin) cf-private;
+  };
+
   termite-unwrapped = callPackage ../applications/misc/termite {
     vte = gnome3.vte-ng;
   };
@@ -20042,8 +20076,6 @@ with pkgs;
 
   xmlcopyeditor = callPackage ../applications/editors/xmlcopyeditor { };
 
-  xmove = callPackage ../applications/misc/xmove { };
-
   xmp = callPackage ../applications/audio/xmp { };
 
   xnee = callPackage ../tools/X11/xnee { };
@@ -21349,9 +21381,7 @@ with pkgs;
 
   scs = callPackage ../development/libraries/science/math/scs { };
 
-  sage = callPackage ../applications/science/math/sage {
-    nixpkgs = pkgs;
-  };
+  sage = callPackage ../applications/science/math/sage { };
   sageWithDoc = sage.override { withDoc = true; };
 
   suitesparse_4_2 = callPackage ../development/libraries/science/math/suitesparse/4.2.nix { };
@@ -22659,7 +22689,7 @@ with pkgs;
   vimUtils = callPackage ../misc/vim-plugins/vim-utils.nix { };
 
   vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins {
-    llvmPackages = llvmPackages_39;
+    llvmPackages = llvmPackages_6;
   });
 
   vimprobable2-unwrapped = callPackage ../applications/networking/browsers/vimprobable2 {
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 21f3b2773397..357ab21fba1f 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -52,21 +52,25 @@ in {
     };
     ghc844 = callPackage ../development/compilers/ghc/8.4.4.nix {
       bootPkgs = packages.ghc822Binary;
+      inherit (buildPackages.python3Packages) sphinx;
       buildLlvmPackages = buildPackages.llvmPackages_5;
       llvmPackages = pkgs.llvmPackages_5;
     };
     ghc861 = callPackage ../development/compilers/ghc/8.6.1.nix {
       bootPkgs = packages.ghc822;
+      inherit (buildPackages.python3Packages) sphinx;
       buildLlvmPackages = buildPackages.llvmPackages_6;
       llvmPackages = pkgs.llvmPackages_6;
     };
     ghc862 = callPackage ../development/compilers/ghc/8.6.2.nix {
       bootPkgs = packages.ghc822;
+      inherit (buildPackages.python3Packages) sphinx;
       buildLlvmPackages = buildPackages.llvmPackages_6;
       llvmPackages = pkgs.llvmPackages_6;
     };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
       bootPkgs = packages.ghc822Binary;
+      inherit (buildPackages.python3Packages) sphinx;
       buildLlvmPackages = buildPackages.llvmPackages_5;
       llvmPackages = pkgs.llvmPackages_5;
     };
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 8d141d7e7c64..749a7e156119 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -7,7 +7,7 @@
 
 { fetchurl, stdenv, lua, callPackage, unzip, zziplib, pkgconfig
 , pcre, oniguruma, gnulib, tre, glibc, sqlite, openssl, expat
-, glib, gobjectIntrospection, libevent, zlib, autoreconfHook, gnum4
+, glib, gobject-introspection, libevent, zlib, autoreconfHook, gnum4
 , mysql, postgresql, cyrus_sasl
 , fetchFromGitHub, libmpack, which, fetchpatch, writeText
 }:
@@ -596,7 +596,7 @@ let
     };
 
     patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
-      substituteInPlace src/makefile --replace gcc cc \
+      substituteInPlace src/makefile \
         --replace 10.3 10.5
     '';
 
@@ -604,6 +604,8 @@ let
       makeFlagsArray=(
         LUAV=${lua.luaversion}
         PLAT=${platformString}
+        CC=''${CC}
+        LD=''${CC}
         prefix=$out
       );
     '';
@@ -925,7 +927,7 @@ let
     };
 
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ glib gobjectIntrospection lua ];
+    buildInputs = [ glib gobject-introspection lua ];
 
     makeFlags = [ "LUA_VERSION=${lua.luaversion}" ];
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 569494d39b67..131ff34c564e 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1289,30 +1289,6 @@ let
     };
   };
 
-  CatalystEngineHTTPPrefork = buildPerlPackage rec {
-    name = "Catalyst-Engine-HTTP-Prefork-0.51";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/${name}.tar.gz";
-      sha256 = "1ygmrzc9akjaqfxid8br11ajj9qgfvhkimakcv4ffk4s5v7q2sii";
-    };
-    propagatedBuildInputs = [
-      CatalystRuntime HTTPBody NetServer
-      CookieXS HTTPHeaderParserXS
-    ];
-    buildInputs = [TestPod TestPodCoverage];
-    patches = [
-      # Fix chunked transfers (they were missing the final CR/LF at
-      # the end, which makes curl barf).
-      ../development/perl-modules/catalyst-fix-chunked-encoding.patch
-    ];
-
-    meta = {
-      # Depends on some old version of Catalyst-Runtime that contains
-      # Catalyst::Engine::CGI. But those version do not compile.
-      broken = true;
-    };
-  };
-
   CatalystManual = buildPerlPackage rec {
     name = "Catalyst-Manual-5.9009";
     src = fetchurl {
@@ -1487,20 +1463,6 @@ let
     };
   };
 
-  CatalystPluginHTMLWidget = buildPerlPackage rec {
-    name = "Catalyst-Plugin-HTML-Widget-1.1";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
-      sha256 = "b4a4873162f515ec7cead6272533fc347c34711d138cc4c5e46b63fa2b74feff";
-    };
-    propagatedBuildInputs = [ CatalystRuntime HTMLWidget ];
-    meta = {
-      description = "HTML Widget Catalyst Plugin";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      broken = true;
-    };
-  };
-
   CatalystPluginLogHandler = buildPerlModule rec {
     name = "Catalyst-Plugin-Log-Handler-0.08";
     src = fetchurl {
@@ -4024,22 +3986,6 @@ let
     };
   };
 
-  DevelSizeMe = buildPerlPackage {
-    name = "Devel-SizeMe-0.19";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TIMB/Devel-SizeMe-0.19.tar.gz;
-      sha256 = "546e31ba83c0bf7cef37b38a462860461850473479d7d4ac6c0dadfb78d54717";
-    };
-    propagatedBuildInputs = [ DBDSQLite DBI DataDumperConcise HTMLParser JSONXS Moo ];
-    meta = {
-      homepage = https://github.com/timbunce/devel-sizeme;
-      description = "Unknown";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      # See https://rt.cpan.org/Public/Bug/Display.html?id=92348
-      broken = true;
-    };
-  };
-
   DevelTrace = buildPerlPackage {
     name = "Devel-Trace-0.12";
     src = fetchurl {
@@ -4109,7 +4055,7 @@ let
       \$(BASEEXT)\$(OBJ_EXT): \$(BASEEXT).xsi
 
       \$(BASEEXT).xsi: \$(DBI_DRIVER_XST) $autodir/Driver_xst.h
-        \$(PERL) -p -e "s/~DRIVER~/\$(BASEEXT)/g" \$(DBI_DRIVER_XST) > \$(BASEEXT).xsi
+      ''\t\$(PERL) -p -e "s/~DRIVER~/\$(BASEEXT)/g" \$(DBI_DRIVER_XST) > \$(BASEEXT).xsi
 
       # ---
       ';
@@ -7516,6 +7462,21 @@ let
     };
   };
 
+  Imager = buildPerlPackage rec {
+    name = "Imager-1.006";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TONYC/${name}.tar.gz";
+      sha256 = "c1e434a4de6250e3b229aa74aa653e56c38f981864f71a975366c50559c9d52b";
+    };
+    buildInputs = [ ExtUtilsPkgConfig pkgs.freetype pkgs.fontconfig pkgs.libjpeg pkgs.libpng ];
+    makeMakerFlags = "--incpath ${pkgs.libjpeg.dev}/include --libpath ${pkgs.libjpeg.out}/lib --incpath ${pkgs.libpng.dev}/include --libpath ${pkgs.libpng.out}/lib";
+    meta = {
+      homepage = http://imager.perl.org/;
+      description = "Perl extension for Generating 24 bit Images";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ImageInfo = buildPerlPackage rec {
     name = "Image-Info-1.41";
     src = fetchurl {
@@ -13191,15 +13152,6 @@ let
     };
   };
 
-  RegexpCopy = buildPerlPackage rec {
-    name = "Regexp-Copy-0.06";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JD/JDUNCAN/${name}.tar.gz";
-      sha256 = "09c8xb43p1s6ala6g4274az51mf33phyjkp66dpvgkgbi1xfnawp";
-    };
-    meta.broken = true;
-  };
-
   RegexpGrammars = buildPerlModule rec {
     name = "Regexp-Grammars-1.049";
     src = fetchurl {
@@ -14144,40 +14096,6 @@ let
     buildInputs = [ TestToolbox ];
   };
 
-  libfile-stripnondeterminism = buildPerlPackage rec {
-    name = "libstrip-nondeterminism-${version}";
-    version = "0.016";
-
-    src = fetchurl {
-      url = "http://http.debian.net/debian/pool/main/s/strip-nondeterminism/strip-nondeterminism_${version}.orig.tar.gz";
-      sha256 = "1y9lfhxgwyysybing72n3hng2db5njpk2dbb80vskdz75r7ffqjp";
-    };
-
-    buildInputs = [ ArchiveZip pkgs.file ];
-    meta.broken = true;
-  };
-
-
-  strip-nondeterminism = buildPerlPackage rec {
-    name = "strip-nondeterminism-${version}";
-    version = "0.016";
-
-    src = fetchurl {
-      url = "http://http.debian.net/debian/pool/main/s/strip-nondeterminism/strip-nondeterminism_${version}.orig.tar.gz";
-      sha256 = "1y9lfhxgwyysybing72n3hng2db5njpk2dbb80vskdz75r7ffqjp";
-    };
-
-    buildInputs = [ ArchiveZip libfile-stripnondeterminism pkgs.file ];
-
-    meta = with stdenv.lib; {
-      description = "A Perl module for stripping bits of non-deterministic information";
-      license = licenses.gpl3;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ pSub ];
-      broken = true;
-    };
-  };
-
   SubExporter = buildPerlPackage {
     name = "Sub-Exporter-0.987";
     src = fetchurl {
@@ -16358,22 +16276,6 @@ let
     buildInputs = [ ListMoreUtils TestDifferences TestException ];
   };
 
-  TestMagpie = buildPerlPackage {
-    name = "Test-Magpie-0.11";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STEVENL/Test-Magpie-0.11.tar.gz;
-      sha256 = "1c4iy35yg3fa9mrc4phmpz46fkihl6yic6a13fpcxyd3xafd5zhm";
-    };
-    propagatedBuildInputs = [ MooseXTypesStructured SetObject UNIVERSALref aliased ];
-    meta = {
-      description = "Spy on objects to achieve test doubles (mock testing)";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = with maintainers; [ ];
-      platforms   = stdenv.lib.platforms.unix;
-    };
-    buildInputs = [ TestFatal Throwable ];
-  };
-
   TestMinimumVersion = buildPerlPackage rec {
     name = "Test-MinimumVersion-0.101082";
     src = fetchurl {
@@ -17064,20 +16966,6 @@ let
     };
   };
 
-  UNIVERSALref = buildPerlPackage rec {
-     name = "UNIVERSAL-ref-0.14";
-     src = fetchurl {
-       url = mirror://cpan/authors/id/J/JJ/JJORE/UNIVERSAL-ref-0.14.tar.gz;
-       sha256 = "1ar8dfj90nn52cb8c6yyj4bi6ya8hk2f2sl0a5q7pmchj321bn1m";
-     };
-     propagatedBuildInputs = [ BUtils ];
-     meta = {
-       description = "Turns ref() into a multimethod";
-       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-       broken = true; # 'OP {aka struct op}' has no member named 'op_sibling'
-     };
-  };
-
   UNIVERSALrequire = buildPerlPackage rec {
     name = "UNIVERSAL-require-0.18";
     src = fetchurl {
@@ -17125,22 +17013,6 @@ let
     };
   };
 
-  UnicodeICUCollator = buildPerlPackage {
-    name = "Unicode-ICU-Collator-0.002";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TONYC/Unicode-ICU-Collator-0.002.tar.gz;
-      sha256 = "0gimwydam0mdgm6qjzzxny4gw8zda9kc2843kcl2xrpq7z7ww3f9";
-    };
-    meta = {
-      description = "Wrapper around ICU collation services";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = with maintainers; [ ];
-      platforms   = stdenv.lib.platforms.unix;
-      broken = true; # tests fail http://hydra.nixos.org/build/25141764/nixlog/1/raw
-    };
-    buildInputs = [ pkgs.icu ];
-  };
-
   UnicodeLineBreak = buildPerlPackage rec {
     name = "Unicode-LineBreak-2018.003";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f400d7047200..a93bae80a822 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -398,6 +398,8 @@ in {
     inherit python;
   });
 
+  hopcroftkarp = callPackage ../development/python-modules/hopcroftkarp { };
+
   httpsig = callPackage ../development/python-modules/httpsig { };
 
   i3ipc = callPackage ../development/python-modules/i3ipc { };
@@ -422,6 +424,8 @@ in {
 
   markerlib = callPackage ../development/python-modules/markerlib { };
 
+  matchpy = callPackage ../development/python-modules/matchpy { };
+
   monty = callPackage ../development/python-modules/monty { };
 
   mininet-python = (toPythonModule (pkgs.mininet.override{ inherit python; })).py;
@@ -430,10 +434,14 @@ in {
     mpi = pkgs.openmpi;
   };
 
+  multiset = callPackage ../development/python-modules/multiset { };
+
   mwclient = callPackage ../development/python-modules/mwclient { };
 
   mwoauth = callPackage ../development/python-modules/mwoauth { };
 
+  nbval = callPackage ../development/python-modules/nbval { };
+
   nest-asyncio = callPackage ../development/python-modules/nest-asyncio { };
 
   neuron = pkgs.neuron.override {
@@ -480,6 +488,8 @@ in {
 
   pdfx = callPackage ../development/python-modules/pdfx { };
 
+  perf = callPackage ../development/python-modules/perf { };
+
   phonopy = callPackage ../development/python-modules/phonopy { };
 
   pims = callPackage ../development/python-modules/pims { };
@@ -544,6 +554,8 @@ in {
 
   pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { };
 
+  pygdbmi = callPackage ../development/python-modules/pygdbmi { };
+
   pygmo = callPackage ../development/python-modules/pygmo { };
 
   pygobject2 = callPackage ../development/python-modules/pygobject { };
@@ -585,6 +597,8 @@ in {
 
   pyparser = callPackage ../development/python-modules/pyparser { };
 
+  pyres = callPackage ../development/python-modules/pyres { };
+
   pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
     pythonPackages = self;
   };
@@ -609,20 +623,28 @@ in {
     slurm = pkgs.slurm;
   };
 
+  pyssim = callPackage ../development/python-modules/pyssim { };
+
   pystache = callPackage ../development/python-modules/pystache { };
 
   pytesseract = callPackage ../development/python-modules/pytesseract { };
 
+  pytest-mypy = callPackage ../development/python-modules/pytest-mypy { };
+
   pytest-tornado = callPackage ../development/python-modules/pytest-tornado { };
 
   python-binance = callPackage ../development/python-modules/python-binance { };
 
+  python-engineio = callPackage ../development/python-modules/python-engineio { };
+
   python-hosts = callPackage ../development/python-modules/python-hosts { };
 
   python-lz4 = callPackage ../development/python-modules/python-lz4 { };
 
   python-ldap-test = callPackage ../development/python-modules/python-ldap-test { };
 
+  python-mnist = callPackage ../development/python-modules/python-mnist { };
+
   python-igraph = callPackage ../development/python-modules/python-igraph {
     pkgconfig = pkgs.pkgconfig;
     igraph = pkgs.igraph;
@@ -642,6 +664,8 @@ in {
 
   python-stdnum = callPackage ../development/python-modules/python-stdnum { };
 
+  python-socketio = callPackage ../development/python-modules/python-socketio { };
+
   python-utils = callPackage ../development/python-modules/python-utils { };
 
   pytimeparse =  callPackage ../development/python-modules/pytimeparse { };
@@ -654,6 +678,8 @@ in {
 
   relatorio = callPackage ../development/python-modules/relatorio { };
 
+  remotecv = callPackage ../development/python-modules/remotecv { };
+
   pyzufall = callPackage ../development/python-modules/pyzufall { };
 
   rhpl = disabledIf isPy3k (callPackage ../development/python-modules/rhpl {});
@@ -744,6 +770,8 @@ in {
 
   adal = callPackage ../development/python-modules/adal { };
 
+  affine = callPackage ../development/python-modules/affine { };
+
   aioconsole = callPackage ../development/python-modules/aioconsole { };
 
   aiodns = callPackage ../development/python-modules/aiodns { };
@@ -995,6 +1023,8 @@ in {
 
   colour = callPackage ../development/python-modules/colour {};
 
+  configshell = callPackage ../development/python-modules/configshell { };
+
   constantly = callPackage ../development/python-modules/constantly { };
 
   cornice = callPackage ../development/python-modules/cornice { };
@@ -1051,6 +1081,8 @@ in {
 
   pyechonest = callPackage ../development/python-modules/pyechonest { };
 
+  pyepsg = callPackage ../development/python-modules/pyepsg { };
+
   pyezminc = callPackage ../development/python-modules/pyezminc { };
 
   billiard = callPackage ../development/python-modules/billiard { };
@@ -1128,10 +1160,14 @@ in {
 
   cairocffi = callPackage ../development/python-modules/cairocffi {};
 
+  cairosvg1 = callPackage ../development/python-modules/cairosvg/1_x.nix {};
+
   cairosvg = callPackage ../development/python-modules/cairosvg {};
 
   carrot = callPackage ../development/python-modules/carrot {};
 
+  cartopy = callPackage ../development/python-modules/cartopy {};
+
   case = callPackage ../development/python-modules/case {};
 
   cassandra-driver = callPackage ../development/python-modules/cassandra-driver { };
@@ -2068,6 +2104,8 @@ in {
 
   setuptools-git = callPackage ../development/python-modules/setuptools-git { };
 
+  sievelib = callPackage ../development/python-modules/sievelib { };
+
   watchdog = callPackage ../development/python-modules/watchdog { };
 
   zope_deprecation = callPackage ../development/python-modules/zope_deprecation { };
@@ -2331,6 +2369,8 @@ in {
 
   flask-silk = callPackage ../development/python-modules/flask-silk { };
 
+  flask-socketio = callPackage ../development/python-modules/flask-socketio { };
+
   flask_sqlalchemy = callPackage ../development/python-modules/flask-sqlalchemy { };
 
   flask_testing = callPackage ../development/python-modules/flask-testing { };
@@ -2411,6 +2451,8 @@ in {
 
   genshi = callPackage ../development/python-modules/genshi { };
 
+  gentools = callPackage ../development/python-modules/gentools { };
+
   gevent = callPackage ../development/python-modules/gevent { };
 
   geventhttpclient = callPackage ../development/python-modules/geventhttpclient { };
@@ -2742,6 +2784,8 @@ in {
 
   fs = callPackage ../development/python-modules/fs { };
 
+  fs-s3fs = callPackage ../development/python-modules/fs-s3fs { };
+
   libcloud = callPackage ../development/python-modules/libcloud { };
 
   libgpuarray = callPackage ../development/python-modules/libgpuarray {
@@ -3054,6 +3098,8 @@ in {
 
   nose-exclude = callPackage ../development/python-modules/nose-exclude { };
 
+  nose-focus = callPackage ../development/python-modules/nose-focus { };
+
   nose2 = callPackage ../development/python-modules/nose2 { };
 
   nose-cover3 = callPackage ../development/python-modules/nose-cover3 { };
@@ -3064,6 +3110,10 @@ in {
 
   nose-cprof = callPackage ../development/python-modules/nose-cprof { };
 
+  nose-of-yeti = callPackage ../development/python-modules/nose-of-yeti { };
+
+  nose-pattern-exclude = callPackage ../development/python-modules/nose-pattern-exclude { };
+
   nose_warnings_filters = callPackage ../development/python-modules/nose_warnings_filters { };
 
   notebook = callPackage ../development/python-modules/notebook { };
@@ -3482,6 +3532,8 @@ in {
 
   pyspread = callPackage ../development/python-modules/pyspread { };
 
+  pyupdate = callPackage ../development/python-modules/pyupdate {};
+
   pyx = callPackage ../development/python-modules/pyx { };
 
   mmpython = callPackage ../development/python-modules/mmpython { };
@@ -3651,6 +3703,8 @@ in {
 
   rabbitpy = callPackage ../development/python-modules/rabbitpy { };
 
+  rasterio = callPackage ../development/python-modules/rasterio { };
+
   radicale_infcloud = callPackage ../development/python-modules/radicale_infcloud {};
 
   recaptcha_client = callPackage ../development/python-modules/recaptcha_client { };
@@ -3779,6 +3833,8 @@ in {
 
   rpy2 = callPackage ../development/python-modules/rpy2 {};
 
+  rtslib = callPackage ../development/python-modules/rtslib {};
+
   Rtree = callPackage ../development/python-modules/Rtree { inherit (pkgs) libspatialindex; };
 
   typing = callPackage ../development/python-modules/typing { };
@@ -3825,12 +3881,20 @@ in {
 
   simplegeneric = callPackage ../development/python-modules/simplegeneric { };
 
+  should-dsl = callPackage ../development/python-modules/should-dsl { };
+
   simplejson = callPackage ../development/python-modules/simplejson { };
 
+  simplekml = callPackage ../development/python-modules/simplekml { };
+
   slimit = callPackage ../development/python-modules/slimit { };
 
   snowballstemmer = callPackage ../development/python-modules/snowballstemmer { };
 
+  snug = callPackage ../development/python-modules/snug { };
+
+  snuggs = callPackage ../development/python-modules/snuggs { };
+
   spake2 = callPackage ../development/python-modules/spake2 { };
 
   sphfile = callPackage ../development/python-modules/sphfile { };
@@ -3944,6 +4008,8 @@ in {
 
   ua-parser = callPackage ../development/python-modules/ua-parser { };
 
+  uarray = callPackage ../development/python-modules/uarray { };
+
   ukpostcodeparser = callPackage ../development/python-modules/ukpostcodeparser { };
 
   umemcache = callPackage ../development/python-modules/umemcache {};
@@ -4732,6 +4798,8 @@ in {
 
   tvdb_api = callPackage ../development/python-modules/tvdb_api { };
 
+  sdnotify = callPackage ../development/python-modules/sdnotify { };
+
   tvnamer = callPackage ../development/python-modules/tvnamer { };
 
   threadpool = callPackage ../development/python-modules/threadpool { };
@@ -4810,12 +4878,16 @@ in {
 
   packaging = callPackage ../development/python-modules/packaging { };
 
+  preggy = callPackage ../development/python-modules/preggy { };
+
   pytoml = callPackage ../development/python-modules/pytoml { };
 
   pypandoc = callPackage ../development/python-modules/pypandoc { };
 
   yamllint = callPackage ../development/python-modules/yamllint { };
 
+  yanc = callPackage ../development/python-modules/yanc { };
+
   yarl = callPackage ../development/python-modules/yarl { };
 
   suseapi = callPackage ../development/python-modules/suseapi { };
@@ -4975,6 +5047,8 @@ in {
 
   simpy = callPackage ../development/python-modules/simpy { };
 
+  yattag = callPackage ../development/python-modules/yattag { };
+
   z3 = (toPythonModule (pkgs.z3.override {
     inherit python;
   })).python;
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index 957de2dcc307..7e7cac95b9c5 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -54,7 +54,7 @@ rec {
   # More poor man's memoisation
   pkgsForCross = let
     examplesByConfig = lib.flip lib.mapAttrs'
-      (builtins.removeAttrs lib.systems.examples [ "riscv" ])
+      lib.systems.examples
       (_: crossSystem: nameValuePair crossSystem.config {
         inherit crossSystem;
         pkgsFor = mkPkgsFor crossSystem;